码迷,mamicode.com
首页 > Windows程序 > 详细

delphi RGB 转 HSV

时间:2017-11-25 16:22:54      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:var   begin   single   roc   byte   ohs   procedure   phi   pre   

 1 procedure RgbToHsv(R, G, B: Byte; var H, S, V: Single);
 2 var
 3   mx, mn: Byte;
 4   tmp: Single;
 5 begin
 6   mx := R;
 7   mn := R;
 8   if mx < G then mx := G;
 9   if mx < B then mx := B;
10   if mn > G then mn := G;
11   if mn > B then mn := B;
12   if mx = 0 then
13   begin
14     H := -1;  S := 0;  V := 0;
15     Exit;
16   end;
17 
18   V := mx / 255;
19   S := (mx - mn) / mx ;
20   tmp := 60.0 / (mx - mn);
21   if mx = R then H := (G - B) * tmp
22   else if mx = G then H := 120 + (B - R) * tmp
23   else if mx = B then H := 240 + (R - G) * tmp;
24   if H < 0 then H := H + 360;
25 end;

 

delphi RGB 转 HSV

标签:var   begin   single   roc   byte   ohs   procedure   phi   pre   

原文地址:http://www.cnblogs.com/btxz/p/7895419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!