当我尝试从相机胶卷加载照片时。我收到以下消息:
Error #3683: Texture too big (max is 2048x2048).
以下代码是我在Feathers / Starling中使用的代码:
var Image_Loader:ImageLoader = new ImageLoader();
Image_Loader.source = url;
addChild(Image_Loader);
我一直在阅读,我需要将照片转换为位图然后调整大小。这是我需要帮助的。我对bitmap或bitmapdata一无所知,以使这项工作成功。任何人都可以指出我正确的方向或建议一些很好的教程/链接。
答案 0 :(得分:2)
我发现了一个帖子并想出了我想要完成的事情。为我正在使用的当前大小的屏幕加载一个很大的图像/照片,并将其缩小以避免出错。而不是使用ImageLoader。只需将纹理直接添加到舞台上,但首先调整大小。
var URLReq:URLRequest = new URLRequest("Image URL");
var imageLoader:Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, loadBit);
imageLoader.load(URLReq);
var myBitmap:Bitmap = new Bitmap();
function loadBit(event:flash.events.Event):void
{
myBitmap = Bitmap(imageLoader.content);
var texture:Texture = Texture.fromBitmap(myBitmap);
var image:Image = new Image(texture);
image.width = image.height = 300;
addChild(image);}
答案 1 :(得分:0)
您的问题似乎是您尝试加载的位图的大小太大了。
当flash加载文件时,它会将bitmapDataObject中写入的内容限制为任何形状的2048x2048像素。这意味着总共4194304像素。你的x / y尺寸并不重要。您必须确保您的图像小于导入之前的图像(使用Windows资源管理器查看图像文件或在OSX上预览,它会告诉您像素尺寸)将两个数字相乘并查看是否得到高于或低于4194304的数字如果它在上面,并且它可能来自你的错误,你必须使用像预览,photoshop,paint等工具手动编辑它,以获得等于或小于4194304的值。