下午好。在調用Canvas.DrawBitmap(Firemonkey)之前將轉換應用於位圖
我正在研究一個繪圖程序,允許用戶在畫布上拖放使用位圖加載的TImages。 (在RAD Studio XE2中的Firemonkey HD應用程序中)然後用戶可以在保存圖像之前更改x和y的比例和旋轉角度。 所有TImages都保存在一個列表,然後這個列表是使用這個簡單的程序寫入底層帆布:
for i := 0 to DroppedList.Count - 1 do
begin
AImage := DroppedList[i];
SourceRect.Left := 0;
SourceRect.Right := AImage.Bitmap.Width;
SourceRect.Top := 0;
Sourcerect.Bottom := AImage.Bitmap.Height;
TargetRect.Left := AImage.Position.X;
TargetRect.Right := AImage.Position.X + AImage.Bitmap.Width;
TargetRect.Top := AImage.Position.Y;
TargetRect.Bottom := AImage.Position.Y + AImage.Bitmap.Height;
with FImage.Bitmap do
begin
Canvas.BeginScene;
Canvas.DrawBitmap(AImage.Bitmap, SourceRect, TargetRect, 1, True);
Canvas.EndScene;
BitmapChanged
end;
end;
FImage.Bitmap.SaveToFile('test.bmp');
的問題,這是轉變到規模和,在可見的圖像的旋轉窗口不被DrawBitmap考慮在內,保存時會丟失。 我正在尋找一種將繪製到背景之前應用轉換到位圖的方法。 我無法找到關於此的任何信息,所以我希望有人在這裏可以幫助。
謝謝 丹尼爾
你上面的代碼是不執行和轉換或旋轉。它只是在不同的X,Y位置複製每個位圖。你如何在你的應用程序的其他地方進行轉換?你可以重新使用該代碼嗎?你需要一個圖像處理庫來達到你想要達到的目的嗎? –