【发布时间】:2014-07-22 16:55:49
【问题描述】:
我正在尝试将 MovieClip 的内容保存在 JPEG 图像中,但是当我保存它时,图像出现了这个问题:
其中有一个空格(从引用格式来看很明显),这出现在我尝试使用带有 JPGEncoder 的文件引用保存的所有图像中。
我认为问题可能是由于 JPGEncoder 类而发生的,但我不确定。
这是我用来保存图像的函数(一些字符串是葡萄牙语):
private function fl_Salvar(event:MouseEvent)
{
try
{
var src:BitmapData = new BitmapData(imageViewer.width,imageViewer.height);
var mtx:Matrix = DisplayUtils.fitIntoRect(imageViewer.mcImage.getChildAt(0),rect,true,Alignment.MIDDLE,false);
src.draw(imageViewer,mtx,null,null,null,true);
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var imgStream:ByteArray = null;
imgStream = jpgEncoder.encode(src);
var file:FileReference = new FileReference();
file.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler );
file.save( imgStream, "TESTE.jpg");
}
catch (ioe:IllegalOperationError)
{
trace("Operação Ilegal.");
}
catch (ae:ArgumentError)
{
trace("Argumento Inválido.");
}
catch (me:MemoryError)
{
trace("Memória Insuficiente.");
}
catch (error:Error)
{
trace("Erro ao tentar salvar imagem : "
+ " . Erro : " + error);
}
}
private function ioErrorHandler( event:IOErrorEvent ):void
{
trace("Handler de erro I/O: " + event);
}
我想知道是否有人知道可能导致此问题的原因。 提前致谢。
编辑:
这是我的 rect 声明:
rect = new Rectangle(imageViewer.mcImage.x,imageViewer.mcImage.y,imageViewer.mcImage.width,imageViewer.mcImage.height);
【问题讨论】:
标签: image actionscript-3 image-processing jpeg filereference