精華區beta Flash 關於我們 聯絡資訊
剛好前幾天做給同事用的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