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

如何取得 ClBlue 在 pf8bit Bitmap 上的 8 bit 色值。

尚未結案
dan59314
中階會員


發表:121
回覆:107
積分:86
註冊:2002-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-03 17:56:06 IP:211.23.xxx.xxx 未訂閱
各位先進, 我宣告了一個 pf8bit 的 TBitmap,然後在上面用 clBlue 畫了個圓,因為要作 pixel 判斷用,我必須逐一 pixel 取值,看是否等於 clBlue ,可是因為 scanline 取得的是 8bit,但是我圖的顏色是 clBlue TColor,請問我要怎麼可以知道我取得的 pixel 色值是否就是我當初畫的顏色 clBlue 呢? 換句話說,就是我要怎麼知道 TColor 的 clBlue 轉成 pf8bit 後的色值是什麼呢? Thanks. :) 軟還要更軟,我的Artwork http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27674 Chinese Girl in Rhino3D http://rhino3d.com/gallery/figure/girl.htm
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-04 05:45:19 IP:219.68.xxx.xxx 未訂閱
fy 您好..我以前也曾經為這個問題煩惱..不過還是沒解決..今天看了您的問題 就想要自己寫一隻程式來測試(明天還要上課 ><)...如下圖.. 程式下載點... http://delphi.ktop.com.tw/loadfile.php?TOPICID=15478489&CC=346171 使用方法..在左上的色塊選擇要的顏色(我已經選擇了CLBLUE) CLBLUE其實就是純藍色..以下是證明.. 先按"用TCOLOR寫顏色8BIT"..在按"用SCANLINE讀顏色24BIT" 結果傳回的如下圖.. 如果是按下"用SCANLINE讀顏色8BIT"..則是傳回252 另外我又寫了一個256色跟RGB的對照表..按"顯示256色盤的RGB值" 可是..看那些數字排列..我實在不知道那是怎麼轉的..好像不是線性關係.. 不過我想針對您問題的部分..應該已經獲得解答了.. 如果有大大知道如何做這個轉換公式..也麻煩PO上來..謝謝.. 發表人 - geniustom 於 2004/05/04 05:56:10
dan59314
中階會員


發表:121
回覆:107
積分:86
註冊:2002-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-04 08:58:47 IP:211.23.xxx.xxx 未訂閱
Thanks to geniustom,     
引言:可是..看那些數字排列..我實在不知道那是怎麼轉的..好像不是線性關係.. 不過我想針對您問題的部分..應該已經獲得解答了.. 如果有大大知道如何做這個轉換公式..也麻煩PO上來..謝謝..
我的問題還是沒有解決,跟你的問題是一樣的。我也是事後 scanline 得知 clBlue 是 252......,但是如果要動態改變顏色,畫完又要去比對的時候,就不知道該和那個色值比對了。 軟還要更軟,我的Artwork http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27674 Chinese Girl in Rhino3D http://rhino3d.com/gallery/figure/girl.htm
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-04 14:05:44 IP:211.74.xxx.xxx 未訂閱
那是調色盤的對照表,ScanLine掃出來其實並不是顏色,而是調色盤所在的位 置!!
    function GetIndex(Bmp:TBitmap;Color:TColor):Byte;
var
  B : Byte;
  P : PByteArray;
begin
  P:=Bmp.ScanLine[0];
  B:=P[0]; //先將0,0的代碼記錄
  Bmp.Canvas.Pixels[0,0]:=Color; //使用Pixels填入"顏色"
  Result:=P[0]; //傳回Pixels的代碼
  P[0]:=B; //將0,0恢復之前的顏色
end;    
學而時習之不亦樂乎!
dan59314
中階會員


發表:121
回覆:107
積分:86
註冊:2002-08-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-04 16:37:18 IP:211.23.xxx.xxx 未訂閱
Hi, jest0024, Thanks a lot, 怎麼沒有想到這一招呢? 軟還要更軟,我的Artwork http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27674 Chinese Girl in Rhino3D http://rhino3d.com/gallery/figure/girl.htm
系統時間:2024-05-15 12:54:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!