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

轉HSV的問題

尚未結案
yana125
一般會員


發表:16
回覆:17
積分:6
註冊:2006-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-23 19:05:37 IP:203.68.xxx.xxx 訂閱
以下是RGB轉HSV的程式 請問 其中 min = MIN( r, g, b );  MIN 這個函數是怎麼運作的裡面有3個數值耶 我只知道MIN(a,b) (((a),(b)?(a):(b)) 這個函數只有2個數值 所以我不知道3個數值的MIN是怎麼運算的    <textarea class="cpp" rows="10" cols="60" name="code"> void RGBtoHSV( float r, float g, float b, float *h, float *s, float *v ) { float min, max, delta; min = MIN( r, g, b ); max = MAX( r, g, b ); *v = max; // v delta = max - min; if( max != 0 ) *s = delta / max; // s else { // r = g = b = 0 // s = 0, v is undefined *s = 0; *h = -1; return; } if( r == max ) *h = ( g - b ) / delta; // between yellow & magenta else if( g == max ) *h = 2 ( b - r ) / delta; // between cyan & yellow else *h = 4 ( r - g ) / delta; // between magenta & cyan *h *= 60; // degrees if( *h < 0 ) *h = 360; } </textarea>
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-23 19:22:58 IP:211.74.xxx.xxx 未訂閱
其實一樣的道理大概是這個樣子
<textarea class="cpp" rows="10" cols="60" name="code"> #define MAX(a,b,c)(((a>b)?a:b)>c?((a>b)?a:b):c) #define MIN(a,b,c)(((a
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-05-23 19:23:40, 註解 無‧
系統時間:2024-11-25 2:02:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!