作者:
hawkOnFlying
時(shí)間: 2005-12-28 文檔類型:原創(chuàng) 來自:
藍(lán)色理想
|
![]() |
前幾天幫朋友做一個(gè)東西用到的 code ,因?yàn)楹芫貌蛔?Flash coding 了。所以也就很少關(guān)心 Flash 8 的新的 Calss。但聽大家說過有這個(gè)功能。本想從網(wǎng)上找段教程或 code 來做。可是發(fā)現(xiàn)國內(nèi)還沒有類似的。就只能自己動手豐衣足食了。
開始做法:
var my_video:Video;
shutter.onRelease = function() {
Testing 發(fā)現(xiàn)有問題,拍出來照片只有 160x120 的區(qū)域有圖像。并且圖像變形了。 什么地方出了問題呢? 最后發(fā)現(xiàn) my_video 復(fù)制到場景中調(diào)整大小時(shí)并不是改變 my_video.width 及 my_video.height 屬性,而是改變 my_video._width 及 my_video._height 屬性。原有視頻元件的尺寸只有 160x120 。這就相當(dāng)于將 my_video 作了形變。而 BitmapData.draw() 是不會考慮源元件的形變的。官方的說法是:源 MovieClip 對象不對此調(diào)用使用其任何舞臺中轉(zhuǎn)換。該源 MovieClip 對象會被視為存在于庫或文件中,沒有矩陣轉(zhuǎn)換、沒有顏色轉(zhuǎn)換,也沒有混合模式。如果您希望通過使用影片剪輯自身的 transform 屬性來繪制影片剪輯,則可以使用它的 Transform 對象來傳遞各種 transformation 屬性。 我開始沒注意他給出的解決辦法。我想既然 draw() 不考慮源元件的形變,那只能自己在輸出的照片元件上想辦法做形變了。于是有了下面這段 code :
var my_video:Video;
shutter.onRelease = function() {
這下照片是想要的大小了,而且圖像也沒有了變形。但發(fā)現(xiàn)圖像沒有攝像頭顯示的清晰。
解決方法:
var my_video:Video;
shutter.onRelease = function() {
好了,現(xiàn)在所有問題都解決了。 |