作者devilarise (Devil)
看板Flash
標題Re: [問題] 關於AS3.0的拍照功能(PrintScreen)?
時間Mon Nov 23 12:51:51 2009
剛好前幾天做給同事用的code
public class c_SCREENSHOT
{
//存放要截圖的目標容器
private var TARGET:DisplayObjectContainer;
private var DATA:BitmapData;
private var IMG:Bitmap;
private var uiCOMPO:UIComponent = new UIComponent;
private var sprite:Sprite = new Sprite;
private var jpgEnc:JPEGEncoder;
private var imgByteArray:ByteArray = new ByteArray;
private var fileRef:FileReference = new FileReference;
//建構子, 收一DisplayObjectContainer物件, 可以放入Application物件
public function c_SCREENSHOT(target:DisplayObjectContainer)
{
TARGET = target;
TARGET.addChild(uiCOMPO);
uiCOMPO.addChild(sprite);
jpgEnc = new JPEGEncoder(80);
}
//截圖
public function CUT():void
{
DATA = new BitmapData(TARGET.width, TARGET.height);
DATA.draw(TARGET);
//jpg編碼
imgByteArray = jpgEnc.encode(DATA);
}
//存圖
public function SAVE(name:String):void
{
fileRef.save(imgByteArray, name);
}
//秀圖
public function SHOW(X:Number, Y:Number):void
{
IMG = new Bitmap(DATA);
IMG.x = X;
IMG.y = Y;
sprite.addChild(IMG);
}
}
參考看看,
這個code使用上有些限制
請自行注意
1.存檔功能的save函式是在10.0以後的flesh player才有支援的
如果編譯器說找不到這函式
Project > Project > Flex Compiler
改一下Require Flesh Player Version, 10.0.0
2.還是Flesh Player的問題,
使用者啟用這程式, 也要有10.0以上的player才能用
否則 ~ 嘣!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.101.104
→ devilarise:補充:CUT跟SAVE請分開使用,別連著呼叫, 會 ~ 嘣! 11/23 12:54
→ devilarise:補充:呼叫CUT後的停頓情形,是編碼動作造成的,無礙 11/23 12:56
推 openyayak:devil大大, 真的非常的感謝您!正在研究您的程式中... 11/23 13:50
→ aquarianboy:補充:是fl"a"sh, 不是fl"e"sh喔 11/23 14:41
推 cjoe:版主mmmm呀! 有心人!! 11/23 14:52
→ cjoe:突然想到個問題,那可以回存到遠端的server嗎? 11/23 14:53
→ openyayak:cjoe大大請問你了解上面的程式碼嗎?因為我不太會運用! 11/23 15:02
推 chengchieh:回存到遠方的話...server上需要有對應的上傳程式... 11/23 17:26
→ chengchieh:等同於把圖檔upload到server上去... 11/23 17:27
→ chengchieh:player 10好像有支援ftp上傳...不過網路上範例only one 11/23 17:27
→ chengchieh:openyayak 要不要提一下是哪邊不會用...? 11/23 17:28
→ chengchieh:devilarise寫的內容還頗清楚的說~~ 11/23 17:28
→ openyayak:很清楚!但是我不太懂怎麼運用~~~ 11/23 17:37
→ openyayak:cheng大,不知道能不能夠製作範例檔供我參考呢?呼呼!!! 11/23 17:39
→ openyayak:因為我AS3算初階程度,但我很想學這個功能! 11/23 17:40
推 kuwood:這個很實用 感恩推=) 11/23 20:16