影像旋轉後縮小的問題?? |
尚未結案
|
wd7142
一般會員 發表:18 回覆:19 積分:7 註冊:2004-01-13 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問: 下面的圖片是旋轉前跟旋轉後,由於旋轉後圖形的寬和高都增加了,請問有沒有什麼辦法,讓旋轉前跟旋轉後的寬和高都相同???wd7142 你好: 請參考以下這篇文章的做法 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
wd7142
一般會員 發表:18 回覆:19 積分:7 註冊:2004-01-13 發送簡訊給我 |
[quote]
不好意思,可能我表遠不好,版大可能弄錯我的意思了。因為我的影像是圓形,所以旋轉前跟旋轉後的圓心位置會不一樣,因為旋轉後的圖形尺寸變大,所以位置偏掉了。
尤於我的影像為圓形,所以旋轉後還是圓形,而我得目的是要讓旋轉前跟旋轉後做比對,所以需要相同大小的圖片才能比對,而我不知道用內插法縮小的話,會不會失真太多,而我是有一個想法:
我原始影像大小為127X127,假設我的圓心點為影像的中心,也就是(64,64)的地方,那我旋轉後影像大小假設為未知數,但確定的是旋轉後的影像中心是圓心,那我是不是抓中心點上下左右的63點pixel,處理完的影像就為127X127,而其他的地方我就不要了。 而我的問題是如何只抓影像中央我要的127X127的大小。 因為我不知道我的想法能不能完成,還是版大有更好的建議,所以謝謝版大的回答!!!
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
wd7142您好:
RaynorPao大哥的範例已經是答案了,只要作些許的修改就能達到您的需求
去掉下面這兩行 //Image1->Stretch=true; //Image2->Stretch=true; 以及修改存檔時的code void __fastcall TForm1::Button4Click(TObject *Sender) { if(!bmpDst) return; SavePictureDialog1->InitialDir=ExtractFilePath(Application->ExeName); if(SavePictureDialog1->Execute()) { Graphics::TBitmap *Pic = new Graphics::TBitmap(); int CenterX = Image2->Picture->Bitmap->Width/2; int CenterY = Image2->Picture->Bitmap->Height/2; TPoint Top,Down; Top.x = CenterX - Image1->Picture->Bitmap->Width/2; Top.y = CenterY - Image1->Picture->Bitmap->Height/2; Down.x = CenterX Image1->Picture->Bitmap->Width/2; Down.y = CenterY Image1->Picture->Bitmap->Height/2;; Pic->Width = abs(Down.x-Top.x); Pic->Height = abs(Down.y-Top.y); Pic->Canvas->CopyMode = cmSrcCopy; Pic->Canvas->CopyRect(Rect(0, 0, Pic->Width, Pic->Height), bmpDst->Canvas, Rect(Top.x, Top.y, Down.x, Down.y)); Pic->SaveToFile(SavePictureDialog1->FileName); delete Pic; } }請再依照您的需求作修改 順心 |
wd7142
一般會員 發表:18 回覆:19 積分:7 註冊:2004-01-13 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
wd7142
一般會員 發表:18 回覆:19 積分:7 註冊:2004-01-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |