全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1245
推到 Plurk!
推到 Facebook!

擷取部分影像 不知該如何設定?

答題得分者是:HYJ
ylvs531
一般會員


發表:3
回覆:1
積分:0
註冊:2006-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-08-10 12:17:51 IP:140.127.xxx.xxx 訂閱
<p><img alt="" src="http://img140.imageshack.us/img140/8979/11ys1.jpg" /></p>

Graphics::TBitmap *bmpSrc=new Graphics::TBitmap;
Graphics::TBitmap *bmpDst=new Graphics::TBitmap;
int newW,new2W;
newW = StrToInt(Edit1->Text);
new2W = StrToInt(Edit2->Text);
bmpDst->PixelFormat = pf24bit;
bmpSrc->PixelFormat = pf24bit;
bmpDst->LoadFromFile(OpenPictureDialog1->FileName);
bmpDst->Width=new2W;
bmpDst->Height=480;
SetStretchBltMode(bmpDst->Canvas->Handle, STRETCH_HALFTONE);
bmpDst->Canvas->CopyMode=cmSrcCopy;
bmpDst->Canvas->CopyRect(Rect((int)newW, 0, (int)newW (int)new2W, 480), bmpSrc->Canvas,Rect((int)newW, 0, (int)newW (int)new2W, 480));
delete bmpDst;
delete bmpSrc;
Image2->Picture->Assign(bmpSrc);


我主要是要將IMAGE1的影像藉由Edit1(擷取位置)、Edit2(擷取寬度)的輸入至IMAGE2


IMAGE1是640*480 IMAGE2是想要擷取Edit1與Edit2的影像,高都是480


不知我上面的程式碼可以嗎?


我按START都沒反應, 在IMAGE2都沒顯示圖像

編輯記錄
ylvs531 重新編輯於 2008-01-06 17:32:04, 註解 無‧
ylvs531
一般會員


發表:3
回覆:1
積分:0
註冊:2006-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-08-18 15:25:57 IP:140.127.xxx.xxx 訂閱

不知上述我還欠缺哪些東東

請各位大大提供一些吧!!~~

謝謝

justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-08-20 20:59:01 IP:59.105.xxx.xxx 未訂閱
bmpDst->LoadFromFile(OpenPictureDialog1->FileName);
你把圖載入到bmpDst?確定bmpSrc有圖顯示出來嗎?
HYJ
一般會員


發表:1
回覆:7
積分:11
註冊:2006-08-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-08-21 17:25:55 IP:211.22.xxx.xxx 未訂閱

試試看這樣寫會不會簡要一點:

========================================

TRect R1, R2;


// 讀取使用者輸入的截取位置 (X 座標)
int x = Edit1->Text.ToIntDef(0);


// 讀取截取的寬度
int w = Edit2->Text.ToIntDef(Image2->Width);


// Image1 的範圍
R1 = TRect(x, 0, x Image2->Width, Image2->Height);


// Image2 的範圍
R2 = TRect(0, 0, Image2->Width, Image2->Height);

// 清除 Image2 的圖
Image2->Picture = NULL;


// 在 Image2 的範圍內畫 Image1 範圍內的圖
Image2->Canvas->CopyRect(R2, Image1->Canvas, R1);

====================================================

當然, Image1 必需先要有圖, 你可以使用 LoadFromFile, LoadFromStream,

或其它方法將 Iamge1 的圖 Assign 進來.

系統時間:2024-05-06 7:22:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!