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

使用stretch指令的問題

尚未結案
1666362
初階會員


發表:66
回覆:124
積分:43
註冊:2004-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-10 10:01:57 IP:61.222.xxx.xxx 未訂閱
假設我的圖檔為640*480 那我在form上面的Image也拉成640*480 在用GetRValue指令去看RGB數值 跟我用 stretch 指令去 然後用GetRValue 指令去看RGB數值(form上面Image拉成320*240)    怎麼會不一樣呢?? 有大大可以解釋一下嗎?    如果用stretch顯示Image,又要怎樣才會顯示出正確的RGB數值呢??       
 
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if (OpenPictureDialog1->Execute())
  Image1->Stretch = true;
  Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}
//--------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
  int R=GetRValue(Image1->Canvas->Pixels[X][Y]);
  int G=GetGValue(Image1->Canvas->Pixels[X][Y]);
  int B=GetBValue(Image1->Canvas->Pixels[X][Y]);
  Label1->Caption="R:" IntToStr(R) " " "G" IntToStr(G) " " "B" IntToStr(B);
}
//---------------------------------------------------------------------------
我是新手 多多指教 ^^
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-10 11:36:32 IP:211.76.xxx.xxx 未訂閱
1666362 您好: 因為圖形經過stretch作用後,您所讀到的位置是縮放後的位置,不是原來影像的位置。所以您必須要將此時的座標,再乘上一個比例值(這要依您所設定的縮放狀況來計算),才會對應到原影像上的真正位置。 供您參考! RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
1666362
初階會員


發表:66
回覆:124
積分:43
註冊:2004-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-11 12:22:09 IP:61.222.xxx.xxx 未訂閱
嗯!! 謝 richtop 大大 指點與幫忙!~ 我是新手 多多指教 ^^
系統時間:2024-05-17 13:05:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!