線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1271
推到 Plurk!
推到 Facebook!

RGB函數的問題

尚未結案
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-20 15:42:18 IP:163.28.xxx.xxx 未訂閱
請問: 如何使用RGB函數來由左而右重新顯示一圖形?     例如:          
 
    for(int i=0;iCanvas->Pixels[i][j]=(TColor)RGB(d_value,0,0);
       }
    }
與
for(int i=0;iCanvas->Pixels[i][j]=(TColor)RGB(d_value,0,0);
       }
    }    
二者都是一直行一直行的顯示,可有方式可以改成一橫行一橫行的顯示? 發表人 - chengwei 於 2005/05/20 23:41:38
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-20 17:34:04 IP:219.137.xxx.xxx 未訂閱
chengwei 您好: 可否將問題再描述得具體一點?
chronok
一般會員


發表:0
回覆:4
積分:0
註冊:2004-03-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-21 10:44:27 IP:220.134.xxx.xxx 未訂閱

    for(int j=0;jCanvas->Pixels[i][j]=(TColor)RGB(d_value,0,0);
       }
    }
是因為 i 和 j 放的位置的關系吧 我猜前兩行倒過來寫就是你要的~
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-21 11:40:38 IP:219.137.xxx.xxx 未訂閱
chengwei 您好:    Pixels 的使用格式是 Pixels[int X][int Y],X 是橫向 (左右方向) 座標值,Y 是縱向 (上下方向) 座標值,因此您必須將 for loop 裡的寬度值代入 X 的位置,而將高度值代入 Y 的位置,您寫的正好放反了,因此才會產生預期外的運作,您的敘述改成如下即可按您的要求方式來顯示了:
for(int i=0; iCanvas->Pixels[j][i]=(TColor)RGB(d_value,0,0);
    }
}
這樣子看起來似乎有點怪,那麼我建議您將迴圈的變數名稱直接改用 x 與 y,那麼這樣就變成了:
for(int y=0; yCanvas->Pixels[x][y]=(TColor)RGB(d_value,0,0);
    }
}
或是將迴圏變數名稱改為 w 與 h,意思是 "寬度" 與 "高度",這樣子看起來可能更為人性化一些:
for(int h=0; hCanvas->Pixels[w][h]=(TColor)RGB(d_value,0,0);
    }
}
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-21 16:06:44 IP:140.116.xxx.xxx 未訂閱
我試出來了:寫法如下所示  
 
 int width,height,r,g,b,x,y ;
   width=SrcImage->Picture->Bitmap->Width;
   height=SrcImage->Picture->Bitmap->Height;
   DestImage->Picture->Bitmap->Width=width;
   DestImage->Picture->Bitmap->Height=height;
   for( y=0;yPicture->Bitmap->Canvas->Pixels[x][y]);
         g=GetGValue(SrcImage->Picture->Bitmap->Canvas->Pixels[x][y]);
         b=GetBValue(SrcImage->Picture->Bitmap->Canvas->Pixels[x][y]);
         DestImage->Canvas->Pixels[x][y]=(TColor)RGB(r,g,b);
      }
   }
系統時間:2024-05-14 0:03:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!