Я пытаюсь расширить класс Image, но столкнулся с проблемой, которую не могу преодолеть. У меня есть личное изображение (img), которое загружает изображение, и функция, которая берет это изображение и копирует его на родительский.
Функция отладки «copyit2» прекрасно отображает изображение (поэтому я знаю, что оно загружено нормально). Но функция «copyit» не работает - она просто отображает белый прямоугольник. Я не вижу, как заставить copyit работать так, чтобы исходное изображение копировалось в BitmapData, а затем копировалось в родительский файл?
(Идея состоит в том, чтобы выполнить некоторую обработку данных растрового изображения до их отображения, хотя здесь это не показано для упрощения примера.)
Я подозреваю, что это связано с безопасностью загрузки изображений, но я загружаю его с того же сервера, с которого запускается приложение - так что это не должно быть проблемой?
Спасибо за любую помощь, которую может оказать любой.
Ian
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");
}
}
}