我試圖將BitmapData的內容繪製到另一個,但尚未創建。
但在繪製之前,我需要縮放和旋轉圖像,並繪製它。
我的問題是,我不知道BitmapData在轉換後將具有的大小,所以我無法創建新的繪製它。基於矩陣計算新BitmapData的大小
這種方法表明我的意思:
public function getTransformedBitmapData(origin:BitmapData):BitmapData
{
var matrix:Matrix = new Matrix();
// ajusting the anchor point and rotating
matrix.translate(-origin.width/2, -origin.height/2);
matrix.rotate(Math.PI/4); // 45 deg
matrix.translate(origin.width/2, origin.height/2);
// scaling
matrix.scale(1.5, 1.5);
// Calculating the size of the new BitmapData
var width:Number = 0; // I don't know this value!
var height:Number = 0; // I don't know this value!
// Creating and drawing (with transformation)
var result:BitmapData = new BitmapData(width, height, true, 0);
result.draw(origin, matrix);
return result;
}
有些人知道改造後我應該做些什麼來找出(計算),這個圖像的大小?
此圖片顯示在行動旋轉,我想找出什麼:
添加屏幕截圖以瞭解所需的旋轉剪切。 – 2012-07-14 05:45:15
@JasonSturges,圖片添加。這個概念很簡單,但我找不到編碼的方法。 – NemoStein 2012-07-14 06:29:44
爲什麼你需要更快的東西?帶有矩陣的bmp.draw()將是該函數計算所需的99.999999% - 即,即使速度更快,速度也會更快。是的,你可以在不使用矩陣函數的情況下完成所有的矩陣運算,這會給你速度,但最好的情況是我認爲你將能夠削減.0001毫秒左右。 – ansiart 2012-07-14 22:54:48