如何把Image控制項中點陣圖的所有的黑色換成紅色? |
答題得分者是:RedSnow
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
jean2004 您好: 最直接的辦法好像也就是掃描圖片了,下列的方式應該能滿足您的需求:
const COLOR1_R = 0; // 要代換的第一個顏色 Red 值 const COLOR1_G = 0; // 要代換的第一個顏色 Green 值 const COLOR1_B = 0; // 要代換的第一個顏色 Blue 值 const COLOR2_R = 255; // 要代換的第二個顏色 Red 值 const COLOR2_G = 255; // 要代換的第二個顏色 Green 值 const COLOR2_B = 255; // 要代換的第二個顏色 Blue 值 const DOT_COLOR1 = COLOR1_R COLOR1_G COLOR1_B; // 要代換的第一個顏色 const DOT_COLOR2 = COLOR2_R COLOR2_G COLOR2_B; // 要代換的第二個顏色 Graphics::TBitmap *Bitmap = new Graphics::TBitmap(); Bitmap->Width = Image1->Picture->Bitmap->Width; Bitmap->Height = Image1->Picture->Bitmap->Height; Bitmap->Canvas->Draw(0, 0, Image1->Picture->Bitmap); Bitmap->PixelFormat = pf24bit; RGBTRIPLE* pRow; WORD dot; const BLACKDOT = 0; const WHITEDOT = 255*3; for (int y = 0; y < Bitmap->Height; y) { pRow = static_cast我將處理程序寫成較為靈活的方式,如果您不是要處理黑白兩色的互換,那麼僅需修改那八個 const 的前六個設定值即可,試試看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 |
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |