如何在Flash中将某些东西复制为可用的位图?
所以我有一个简单的mxml项目 - 空页面上有一个面板。
我希望能够在我的面板上选择一些区域并将其复制为可以映射到photoshop,word和其他程序的位图。
怎么做这样的事情? (图书馆,文章等)
编辑 - 在FP10中可能无法实现,但在FP 10.1中你可以拥有它=) 见BETA ActionScript 3.0 Reference for the Adobe Flash Platform 10.1 不是以最好的方式,但任何方式都是如此
答案 0 :(得分:4)
你不能用Flex / Flash做到这一点,但你可以拍摄快照并将其保存到文件系统并将该图像导入到photoshop等。这是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.graphics.codec.PNGEncoder;
import flash.display.BitmapData;
protected function saveAsPNG(target:Sprite, path:String):void
{
var bitmapData:BitmapData = new BitmapData(target.width, target.height);
bitmapData.draw(target);
var image:PNGEncoder = new PNGEncoder();
var byteArray:ByteArray = image.encode(bitmapData);
var file:FileReference = new FileReference();
file.save(byteArray, path);
}
]]>
</mx:Script>
<mx:Panel width="100%" height="100%">
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Panel width="50%" height="50%"/>
<mx:Panel width="50%" height="50%"/>
</mx:HBox>
</mx:Panel>
<mx:Button label="Save As.." click="saveAsPNG(this, 'MyImage.png')"/>
</mx:Application>
如果您使用AIR,则可以save Bitmaps to the Clipboard。查看此高级AIR Clipboard Application。
您也可以执行以下操作:
<img/>
标记(不确定是否可能)
看起来你甚至无法用javascript将图像复制到剪贴板。如果您使用的是Mac,则可以使用:Command+Ctrl+Shift+4
。
希望有所帮助, 兰斯