取出圖片中的圓形區域 |
答題得分者是:AndrewK
|
BCBNPC
一般會員 發表:14 回覆:15 積分:5 註冊:2008-11-25 發送簡訊給我 |
大家好:
假設我 new 出一個 Graphics::TBitmap *bmp; 而bmp讀取一張 bmp 影像後 我希望能夠將其某範圍的圓形影像取出來,並存成檔案(底色白色,或者可自訂) 該如何使用呢? 我大致上的方式是: [code cpp] Graphics::TBitmap *bmp = new Graphics::TBitmap; Canvas->Brush->Bitmap = testBMP; Canvas->Brush->Bitmap->LoadFromFile( "C:\\test.bmp" ); Canvas->Ellipse( 107, 25, 545, 460 ); Canvas->Draw( 600, 25, testBMP ); TRect rec; rec = Canvas->ClipRect; bmp ->Canvas->DrawFocusRect( rec ); bmp ->SaveToFile( "C:\\test2.bmp" ); [/code] 雖然在 Canvas 的部分有將圓形區域畫在 Form 上, 可是存檔時,還是跟原來的影像沒有分別 需要如何處理呢?? |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
1.bitmap 寬、高 不同於 form 的寬、高
可以 new 一個轉換後的 TBitmap 重新設定寬高 desbmp->Width = rec.Width(); desbmp->Height = rec.Height(); 2.將 DrawFocusRect 以 CopyRect 取代 如此是將 form 的畫面完全拷貝 如果只是要儲【畫的東西】,建議就不要以 form 來當畫布
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
BCBNPC
一般會員 發表:14 回覆:15 積分:5 註冊:2008-11-25 發送簡訊給我 |
原本我也是希望透過CopyRect來實現
最後採用此篇文章 http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=46356 最後有實做出來了 感謝大大^^ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |