C++Builder6.0 中在表單中添加背景圖片,運行后圖片倒置,是要設定什么屬性啊?
uj5u.com熱心網友回復:
表單沒有這個屬性,自己接管WM_PAINT訊息進行繪制。uj5u.com熱心網友回復:
你是怎么做的?可以像妖哥說的,或者表單上放一個Image(放在下層不要遮了別的控制元件),設定Align屬性為alClient,用Image加載圖片。
uj5u.com熱心網友回復:
最省事的辦法是干脆把圖片翻轉一下,顯示的時候就正過來了uj5u.com熱心網友回復:
簡單說,就是取每一個象素點,然后重繪到另一個圖片上,再把另一個圖片上的圖畫回來。以下是關鍵代碼參考:
實作影像180°的旋轉關鍵是要讓兩幅影像同時取值代碼:
void __fastacll TForm1::S_90Click(TObject *Sender)
{
Form1->Canvas->FillRect(Form1->Canvas->ClipRect);
myBItmap2->Width=myBitmap1->Width;
myBitmap2->Height=myBitmap1->Height;
int i,j;
for(i=0;i<myBitmap1->Height;i++)
{
newline=(PicByte*)myBitmap2->ScanLine[i];
ptr=(PicByte*)myBItmap1->ScanLine[myBitmap1->Height-i-1];
for(j=0;j<myBitmap1->Width;j++)
{
newline[j]=ptr[myBitmap1->Width-j-1];
}
}
Form1->Canvas->Draw(0,0,myBitmap2);
}
uj5u.com熱心網友回復:
話說,CSDN的答題環境真不如百度,現在在百度混得多一些,呵呵。uj5u.com熱心網友回復:
什么叫放在下層 怎么放能解釋一下嗎 謝謝 俺是小白uj5u.com熱心網友回復:
右鍵點擊一個控制元件,控制,置后。
不過Image控制元件屬于TGraphicControl,就算放在別的控制元件上面,運行的時候也是畫在表單上的,因為它的Canvas就是父容器Form的Canvas。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66063.html
標籤:VCL組件使用和開發
