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

請問一下區域選取的問題

答題得分者是:JerryKuo
ayuen
一般會員


發表:19
回覆:34
積分:10
註冊:2003-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-30 01:53:29 IP:219.68.xxx.xxx 未訂閱
請問一下將一張圖之所需部分讀出但是我不要的地方是以白色顯示 我要如何才能把所選取之圖那一部分取出去掉白色部分    void __fastcall TForm1::Image1MouseDown(TObject *Sender,       TMouseButton Button, TShiftState Shift, int X, int Y) {      Graphics::TBitmap *TheBitmap;      StartX=X;      StartY=Y;      TMemoryStream* ima=new TMemoryStream();      ima->LoadFromFile(OpenDialog1->FileName);      int dwSize=ima->Size;      BYTE* pixel=new BYTE[dwSize];      ima->Read(pixel, dwSize);      Graphics::TBitmap* RAW=new Graphics::TBitmap();      RAW->Width=256;      RAW->Height=256;      for (int y=StartY;yCanvas->Handle, x,y,TColor(RGB(color,color,color))); } } Image2->AutoSize=true; Image2->Picture->Assign(RAW); delete [] pixel; delete ima; delete RAW; }
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-30 09:02:19 IP:210.68.xxx.xxx 未訂閱
你好:    本站已有這方面文章,有空翻翻舊文章,會有意想不到的收穫 請參考RaynorPao版主的作品, http://delphi.ktop.com.tw/topic.php?TOPIC_ID=34115
ayuen
一般會員


發表:19
回覆:34
積分:10
註冊:2003-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-30 09:31:58 IP:219.68.xxx.xxx 未訂閱
不好意思可能是我的表達不夠清楚 因為我讀入的是raw data 1024*1024大小的圖檔如果以bmp圖的方式去做處理會有問題 我只想以在image1mousedown時以此時的起點座標點出一個512*512的矩型 顯示在image2上
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-30 10:32:03 IP:61.230.xxx.xxx 未訂閱
引言: 不好意思可能是我的表達不夠清楚 因為我讀入的是raw data 1024*1024大小的圖檔如果以bmp圖的方式去做處理會有問題 我只想以在image1mousedown時以此時的起點座標點出一個512*512的矩型 顯示在image2上 < face="Verdana, Arial, Helvetica"> 你好: 不好意思,我以為你的問題是選取方法,所以才會提這個方法給你參考, 如果你能把讀入的Raw Data,先存放在bitmap物件裡,再參考RaynorPao 版主的方法,就可以達到你所要的目的。不過你的程式不是就可以了嗎 ?問題出在哪? 因為你的程式碼會亂掉,在發表程式時,請先參考這份文件說明, http://delphi.ktop.com.tw/topic.php?TOPIC_ID=37787
ayuen
一般會員


發表:19
回覆:34
積分:10
註冊:2003-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-30 12:51:53 IP:219.68.xxx.xxx 未訂閱
不好意思沒注意到版規 因為*.
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-30 13:38:18 IP:210.68.xxx.xxx 未訂閱
引言: 因為*.raw的圖檔是只有像素無標頭檔 我直接把內容讀到TMemoryStream但是因為 我只要我選取的部分 現在問題是我選取的部分有出現 但沒選取的部分是白色 我只要在Image2出現我選的部分 而不是整張圖
    SetPixel(RAW->Canvas->Handle, (x - StartX), (y - StartY), TColor(RGB(color,color,color)));
spruce
一般會員


發表:3
回覆:11
積分:2
註冊:2005-11-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-05 11:30:24 IP:210.43.xxx.xxx 未訂閱
for (int y=StartY;y { for (int x=StartX;x { 这点错了吧?正确的是什么?
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-07 11:12:24 IP:220.135.xxx.xxx 未訂閱
引言: for (int y=StartY;y { for (int x=StartX;x { 这点错了吧?正确的是什么?
作者忘了加[ code] [ /code],所以程式亂掉, 我己將文章修正完畢。
系統時間:2024-05-10 5:30:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!