跳到主要內容

Flash10繪圖筆與產生實體圖檔

在swf裡如何產生一張實體的圖檔呢
Flash8,9就可以做到了,
但在這兒我們使用Flash10 ,
FileReference類別新增了二個主要的功能
1.能直接開啟使用者端的任何檔案(此範例是開啟swf,gif,jpg), 以後要將本機端的圖片丟到Flash裡, 就不需要像以前先upload到server, 再下載到flash
2.能將swf裡任何的畫面, 直接產生一張圖檔(或任意的格式)

PS 當有外載跨網域的swf, BitmapData不能繪製該物件, 此時就無法產生圖檔

以上二個功能都不需要伺服器端, 單Flash就做到了
在這兒製作一個繪圖筆教學,
可以上傳照片, 繪圖, 再產生一張圖檔
Thumbnail - Click me

原始檔下載

留言

tka寫道…
並非任何畫面歐,如果引用的圖片有cross domain的問題就沒辦法透過 bitmapdata轉出來,像是google map就不行囉
milkmidi寫道…
對也,這樣會讓人誤會
謝謝
我修改一下說明好了
Amo Wu寫道…
非常感謝你的教學,請問pencil_mc這個物件是用在哪裡的呢?
謝謝~
匿名表示…
非常感謝你的教學
SORRY!您的教學fla有問題未能開啟><
SourceCodeDownload
milkmidi寫道…
需要使用FlashCS4才能開啟喔
Unknown寫道…
請問可以產生帶Alpha Channel的png圖檔嗎?假設狀況為,可以利用畫筆畫任意圖,存檔時除了畫筆筆跡以外的地方都是透明的alpha channel這樣的需求能夠達到嗎?and如何實現呢?感謝
milkmidi寫道…
可以的,不好意思,我的程式碼裡應該要寫成
DrawPencilAndSaveImage_Flash10.as
52行,本來是:
var _bitmapData:BitmapData = new BitmapData(600, 550, false, 0xffffff);
改成:
var _bitmapData:BitmapData = new BitmapData(600, 550, true, 0);
這樣就會是透明的了。