Re: [問題] 關於AS3.0的拍照功能(PrintScreen)?

看板Flash作者 (Devil)時間16年前 (2009/11/23 12:51), 編輯推噓7(7023)
留言30則, 8人參與, 最新討論串3/3 (看更多)
剛好前幾天做給同事用的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

11/23 12:54, , 1F
補充:CUT跟SAVE請分開使用,別連著呼叫, 會 ~ 嘣!
11/23 12:54, 1F

11/23 12:56, , 2F
補充:呼叫CUT後的停頓情形,是編碼動作造成的,無礙
11/23 12:56, 2F

11/23 13:50, , 3F
devil大大, 真的非常的感謝您!正在研究您的程式中...
11/23 13:50, 3F

11/23 14:41, , 4F
補充:是fl"a"sh, 不是fl"e"sh喔
11/23 14:41, 4F

11/23 14:52, , 5F
版主mmmm呀! 有心人!!
11/23 14:52, 5F

11/23 14:53, , 6F
突然想到個問題,那可以回存到遠端的server嗎?
11/23 14:53, 6F

11/23 15:02, , 7F
cjoe大大請問你了解上面的程式碼嗎?因為我不太會運用!
11/23 15:02, 7F

11/23 17:26, , 8F
回存到遠方的話...server上需要有對應的上傳程式...
11/23 17:26, 8F

11/23 17:27, , 9F
等同於把圖檔upload到server上去...
11/23 17:27, 9F

11/23 17:27, , 10F
player 10好像有支援ftp上傳...不過網路上範例only one
11/23 17:27, 10F

11/23 17:28, , 11F
openyayak 要不要提一下是哪邊不會用...?
11/23 17:28, 11F

11/23 17:28, , 12F
devilarise寫的內容還頗清楚的說~~
11/23 17:28, 12F

11/23 17:37, , 13F
很清楚!但是我不太懂怎麼運用~~~
11/23 17:37, 13F

11/23 17:39, , 14F
cheng大,不知道能不能夠製作範例檔供我參考呢?呼呼!!!
11/23 17:39, 14F

11/23 17:40, , 15F
因為我AS3算初階程度,但我很想學這個功能!
11/23 17:40, 15F

11/23 20:16, , 16F
這個很實用 感恩推=)
11/23 20:16, 16F

11/23 22:13, , 17F
1114: public 屬性只能用於套件內部。這錯誤是???
11/23 22:13, 17F

11/23 23:05, , 18F
你是怎麼寫的呢? 附個原始檔讓大家看看吧
11/23 23:05, 18F

11/24 08:49, , 19F
我只是將上面的建構子的程式照抄....就有問題>"<
11/24 08:49, 19F

11/24 08:49, , 20F
誰能夠幫幫忙呢???
11/24 08:49, 20F

11/24 08:50, , 21F
還是有哪些東西我沒設定好???
11/24 08:50, 21F

11/24 09:01, , 22F
樓上是照抄到.fla 還是照抄到.as?
11/24 09:01, 22F

11/24 21:23, , 23F
我是開啟fla 然後在影格上照抄程式碼~這樣對嗎?
11/24 21:23, 23F

11/24 21:50, , 24F
附個原始檔會比較簡單
11/24 21:50, 24F

11/25 08:16, , 25F
印象中不能在fla裡面寫class
11/25 08:16, 25F

11/25 08:16, , 26F
不知道我的印象是對的還是錯的 0.0 有錯請指正
11/25 08:16, 26F

11/25 09:58, , 27F
還是要寫在Action Script檔案裡面呢?
11/25 09:58, 27F

11/25 11:39, , 28F
想要別人幫你看,請附原始檔!!!!!!!!!!!!!!!!!!!!!!!!
11/25 11:39, 28F

11/25 15:18, , 29F
推devilarise熱心! 另請版大息怒...
11/25 15:18, 29F

11/25 15:24, , 30F
怒是還好,只是不小心驚嘆號的按鈕壞了而已 :)
11/25 15:24, 30F
文章代碼(AID): #1B2XJfbY (Flash)
文章代碼(AID): #1B2XJfbY (Flash)