線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1627
推到 Plurk!
推到 Facebook!

[問題]從bitmap到bitmap

尚未結案
propc
一般會員


發表:4
回覆:2
積分:1
註冊:2005-09-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-29 16:35:34 IP:140.116.xxx.xxx 未訂閱
請問如何將Bitmap某一塊的資訊拷貝到另一塊的Bitmap上呢?? for(i=0,k=selectX[0];k<=selectX2[0];k ,i ) { for(j=0,l=selectY[0];l<=selectY2[0];l ,j ) { SelectImg1->Canvas->Pixels[i][j] = pBitmapG->Canvas->Pixels[k][l]; } } 我想把pBitmapG的從(selectX[0],selectY[0])到(selectX2[0],selectY2[0]) 的範圍拷貝到SelectImg1裡面 請問這樣寫對嗎?? 因為似乎沒有作用~~ 謝謝
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-29 17:11:58 IP:210.65.xxx.xxx 未訂閱
Hi propc,    用 BrushCopy 試試:    SelectImg1->Canvas->BrushCopy(.....     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
propc
一般會員


發表:4
回覆:2
積分:1
註冊:2005-09-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-29 21:12:40 IP:140.116.xxx.xxx 未訂閱
你好~我去研究了BrushCopy的功能~ 但是她只是把Bitmap的東西CO到那個form 但是我還要把CO下來的Bitmap做些處理~ 讓我又不知道該怎麼辦~ 不過我自己找到解決方法了~~ 因為我的pBitmapG是從GetDC來的 所以後來我用 StretchBlt(SelectImg->Canvas->Handle,0,0,40,40,h1,selectX[0],selectY[0],40,40,SRCCOPY); 就可以把指定範圍的資訊抓系下來了~ anyway~還是謝謝 ^^
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-30 10:07:44 IP:203.69.xxx.xxx 未訂閱
範例是 Form1->Canvas->BrushCopy(MyRect, Bitmap, MyRect, clBlack); 您也可以改成這樣吧 SelectImg1->Canvas->BrushCopy(MyRect, pBitmapG, MyRect, clBlack); BrushCopy 的底層也是 呼叫 StretchBlt, 而且還處裡一些特別的狀況, 如透明色.... 有興趣可以參考 BCB 附的 Delphi Source Code: Graphics.pas
系統時間:2024-04-20 3:43:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!