圖檔顯示問題 |
答題得分者是:RaynorPao
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
請教一個問題,我想要做一個可以執行scrolling功能的程式,也就是當我的前景圖超過背景顯示的範圍時,前景圖可以自動把超出的部分顯示在背景圖的另一端,圖例如下: 我的程式問題在超過的部分無法從令一端跑出來...要如何修正
Image3:256X224 背景
Image4:100X123 前景 void __fastcall TForm1::Merge_btnClick(TObject *Sender)
{
Image5->Visible=false;
if(Image1->Visible==true)
{
Image3->Width=(Image1->Width)/2;
Image3->Height=(Image1->Height)/2;
Image3->Stretch=true;
SetStretchBltMode(Image3->Canvas->Handle, STRETCH_HALFTONE);
Image3->Canvas->CopyMode=cmSrcCopy;
Image3->Canvas->CopyRect(Rect(0, 0, Image3->Width, Image3->Height),
Image1->Canvas, Rect(0, 0, Image1->Width/2, Image1->Height/2));
}
Image4->Picture=0;
Image4->Width=(Image2->Width)/2;
Image4->Height=(Image2->Height)/2;
Image4->Left=(Image2->Left+26)/2+679;
Image4->Top=(Image2->Top+60)/2;
Image4->Stretch=true; SetStretchBltMode(Image4->Canvas->Handle, STRETCH_HALFTONE);
Image4->Canvas->CopyMode=cmSrcCopy;
Image4->Canvas->CopyRect(Rect(0, 0, Image4->Width, Image4->Height),
Image2->Canvas, Rect(0, 0, Image2->Width/2, Image2->Height/2));
Image4->Transparent=true;
Application->ProcessMessages();
}
我的結果
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
我有找到一個類似的,不知道這樣的功能對不對,可否幫我看看~
void__fastcall TForm1::Item16Click(TObject *Sender) { //圖像左右錯移// Form1->Refresh( ); HeightHalf=Bitmap1->Height/2 Bitmap1->Height%2; Source1=Rect(0,0,Bitmap1->Width,HeightHalf); Source2=Rect(0,HeightHalf,Bitmap1->Width,Bitmap1->Height); for(i=0;i<=Bitmap1->Width;i ) { Dest1=Rect(0-Bitmap1->Width i,0,i,0 HeightHalf); Dest2=Rect(Bitmap1->Width-i,HeightHalf, Bitmap1->Width Bitmap1->Width-i, Bitmap1->Height 0); Form1->Canvas->MoveTo(0-Bitmap1->Width i-1,0); Form1->Canvas->LineTo(0-Bitmap1->Width i-1,HeightHalf); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); Form1->Canvas->MoveTo( Bitmap1->Width Bitmap1->Width-i,0); Form1->Canvas->LineTo( Bitmap1->Width Bitmap1->Width-i,Bitmap1->Height); Form1->Canvas->CopyRect(Dest2,Bitmap1->Canvas,Source2); for(j=0;j<10000;j ); } } ====================================================================== void__fastcall TForm1::Item17Click(TObject *Sender) { //圖像上下錯移// Form1->Refresh( ); WideHalf=Bitmap1->Width/2 Bitmap1->Width%2; Source1=Rect(0,0,WideHalf,Bitmap1->Height); Source2=Rect(WideHalf,0,Bitmap1->Width,Bitmap1->Height); for(i=0;i<=Bitmap1->Height;i ) { Dest1=Rect(0,0-Bitmap1->Height i,WideHalf,0 i); Dest2=Rect(WideHalf, Bitmap1->Height-i, Bitmap1->Width, Bitmap1->Height Bitiap1(>Ighdht)k-; &'Biym1->Canvas->MoveTo(0,0-Bitmap1->Height i-1); Form1->Canvas->LineTo(WideHalf, 0-Bitmap1->Height i-1); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); Form1->Canvas->MoveTo(WideHalf, Bitmap1->Height Bitmap1->Height-i); Form1->Canvas->LineTo(Bitmap1->Width, Bitmap1->Height Bitmap1->Height-i); Form1->Canvas->CopyRect(Dest2,Bitmap1->Canvas,Source2); for(j=0;j<10000;j ); } }
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |