我正在尝试扩展 Image 类,但遇到了一个我无法解决的问题。我有一个加载图像的私有图像(img)和一个获取该图像并将其复制到父级的函数。
调试函数“copyit2”可以很好地显示图像(所以我知道它加载正常)。但函数“copyit”不起作用——它只显示一个白色矩形。我看不到如何使 copyit 工作,以便将原始图像复制到 BitmapData,然后再复制到父级?
(想法是在显示位图数据之前对其进行一些处理,尽管此处未显示以使示例简单。)
我怀疑这与加载图像的安全性有关,但我是从运行应用程序的同一服务器加载它 - 所以这应该不是问题吗?
感谢任何人都可以提供的任何帮助。
伊恩
package zoomapackage
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.net.*;
import mx.controls.Image;
import mx.events.FlexEvent;
public dynamic class Zooma extends Image
{
private var img:Image;
public function copyit():void {
var imgObj:BitmapData = new BitmapData(img.content.width, img.content.height, false);
imgObj.draw(img);
var matrix:Matrix = new Matrix();
this.graphics.beginBitmapFill(imgObj, matrix, false,true);
this.graphics.drawRect(0, 0, this.width , this.height);
this.graphics.endFill();
}
public function copyit2():void {
this.source = img.source;
}
public function Zooma()
{
super();
img = new Image();
img.load("http://localhost/Koala.jpg");
}
}
}