2009-09-10 73 views
0

我們發現,當我們使用draw將一個位圖數據繪製到另一個位圖數據時,縮放變換存在上限。在某些時候,IBitmapDrawable參數不再呈現在目標位圖上。使用縮放矩陣繪製間歇位圖數據

有誰知道這個上界的參數是什麼?這是記錄在某處嗎?

回答

1

雖然這兩個BitmapData有上限,以它的大小時constructed(在F10 2880x2880在F9,16775168總像素面積),我們發現在轉換bitmapData和僅繪製其中的一部分時適用稍微不同的約束。

如果您的bitmapData大小爲1x1px,您可以將其縮放到最大8191x8191px(遠大於可以在f10中構建的BitmapData),並將位圖繪製到另一個位圖中。如果你縮放比你更大的位圖,它就不會顯示出來。

1

docs說:

的最大寬度和BitmapData對象的最大高度 爲2880個像素。

我想這就是你打的限制。

1

注意:在Flash 10的限制已取消

1

其實這個問題是相當棘手......有幾個文件的限制,在不同的場景和Flash Player版本,但許多不同的無證限制爲...例如,檢查這篇文章,它的評論: http://www.bit-101.com/blog/?p=2067

如果你允許我引用自己^^

我有同樣的問題,我認爲 ,這不是真正的LY平局() 限制,但例如一個DisplayObject一個... :

var bmp=new BitmapData(8000,100,false,0); 
var bmp2=new BitmapData(8000,10,false,0xFF0000); 
bmp.draw(bmp2); 

作品完美...同樣與其他 方法,比如fillRect和applyFilter。 但是,如果您嘗試繪製() 超過4079像素 的水平或垂直的4082(根據getColorBoundsRect) ,則失敗。

此外,也有少數線程用在這裏非常相似的問題: maximum size of a sprite in as3?