我有一個容器與掩碼位圖。此容器的縮放比例和旋轉在運行時發生變化,我需要繪製遮罩的位圖,但無法找出合適的矩陣計算。如何準確繪製旋轉後的位圖?
我的代碼可以正確地反映位置,縮放,偏移而無需旋轉居中。旋轉時,角度正確,但定位不正確 - 我相信因爲矩形旋轉時尺寸會發生變化。
有人可以幫助我弄清楚如何爲這個在定位補償 - 這裏是一些代碼:提前
// Adjust the transformation matrix to account for the position of the container
var tMatrix:Matrix = _imgContainer.transform.matrix;
//Offset for container
tMatrix.translate(this.x,this.y);
//Offset for bounds centering
tMatrix.translate(-_imgContainer.width/2,-_imgContainer.height/2);
// Compensate for rotation
// ????
var result_bitmap:BitmapData = new BitmapData(_maskedImg.width,_maskedImg.height,true,0x00FFFFFF);
result_bitmap.lock();
result_bitmap.draw(_maskedImg,tMatrix,null,null,null,true);
result_bitmap.unlock();
感謝您的幫助,您可以提供 -
b
編輯: 對不起,如果我沒有正確解釋這一點,讓我再試一次圖像來支持。我在一個容器中有一個被掩蓋的位圖,我正在使用它作爲繪製新位圖的源。這個容器可以在捕獲之前由用戶在運行時縮放/旋轉。爲了實現這一點,我將基於容器矩陣的變換矩陣傳遞給繪製方法,並調整tx和ty值以考慮非零原點(由於居中)。到目前爲止,它工作正常,捕捉我期望的。
但是 - 一旦這個容器旋轉了,捕獲的位置就會再次關閉 - 由於尺寸發生變化,因此tx/ty偏移現在對於容器的新尺寸是不正確的。我只需要彌補這一點,但無法弄清楚如何。
有沒有人有經驗的轉換矩陣,可以幫助?再次感謝您的努力!
不要以爲我明白你在做什麼試圖做到:你可以做一張照片或截圖嗎? – 2010-01-28 08:44:20
用更好的解釋和2張圖片更新了這個問題以供參考 - 謝謝你的努力。 – WillyCornbread 2010-01-28 15:47:44