从TColor对象中解析出红、绿、蓝的亮度

使用API函数GetRValue,GetBValue及GetGValue。这里有一个以析取红绿蓝来改变窗口背景色的例子。(注意:在使用下面的例子代码前,请将窗口的Color设为clBlue,clNavy或其它任何一种非系统颜色,诸如clBtnFace)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  BYTE nRed  = GetRValue(Color);
  BYTE nBlue = GetBValue(Color);
  BYTE nGreen = GetGValue(Color);
  nRed +=10;
  nBlue -=10;
  nGreen *= 1.05;
  Color =(TColor) RGB(nRed, nGreen, nBlue);
}

注意:Get系列函数返回一个0~255的亮度值。因为单个亮度值为一个字节所以返回类型为BYTE。当你把亮度值设为小于0或大于255时,RGB宏将截去多余的字节(它只取低8位) 。

注意:从技术上讲,这三个Get函数实际上不是函数,它们是C风格的宏。你可以在Include\Win32\wingdi.h中看到它们的实现。使用宏的一个结果是:函数不是类型安全的。你可以将char *传给宏而不会得到任何警告。

时间: 2024-10-26 05:38:30

从TColor对象中解析出红、绿、蓝的亮度的相关文章

解析Sql :从update 语句中解析出select语句

问题描述 现在有一个任务,有一批的命令,都是update,insert,delete的批操作.还有一个要求,在执行操作时需要记录下更新数据的历史状态.例如:updatetab1setcol='**',col2='***'whereidin(selecttidfromtab2whereenable='Y ')我的处理是这样的:1.首先解析后得到:select*fromtab1whereidin(selecttidfromtab2whereenable='Y') 2.执行select将历史数据保存到

photoshop制作出RGB三原色的光学红绿蓝叠加效果教程

给各位photoshop软件的使用者们来详细的解析分享一下制作出RGB三原色的光学红绿蓝叠加效果的教程. 教程分享: 打开Photoshop软件   在Photoshop上新建一个画布.(方法一:点击文件,新建.方法二:快捷键ctrl+N)   将填充颜色设置为黑色   将画布的背景色填充为黑色(方法一:用油漆桶填充为黑色.方法二:Ctrl+delete填充背景色,Alt+delete填充前景色)   选择选区工具   新建一个图层(可以单击图层界面右下角的新建图层图标,或者快捷键Ctrl+sh

java-Java中为什么匿名对象中方法,调用局部变量必须加final呢,求详解

问题描述 Java中为什么匿名对象中方法,调用局部变量必须加final呢,求详解 Java中为什么匿名对象中方法,调用局部变量必须加final呢,求详解.在网上找了很久,基本没看到想要的答案,最好从Java虚拟机内存分配角度讲一讲,其他角度亦可. 老师只告诉这么用就好了,问了也说不知道,匿名对象在哪没研究过 求大神回复 解决方案 为什么匿名内部类调用的方法内局部变量必须为final为什么匿名内部类调用的方法内局部变量必须为final为什么匿名内部类调用的方法内局部变量必须为final 解决方案二

arraylist-在修改别人的新闻客户端,在logcat中能够解析出jason信息,但是在手机中缺无法显示

问题描述 在修改别人的新闻客户端,在logcat中能够解析出jason信息,但是在手机中缺无法显示 能够解析出来 但是listview中没有任何显示.大致上的代码如图!大神能够帮忙的话,源码在这链接:http://pan.baidu.com/s/1jGVzvHc 密码:1nsl public class HttpUtils { public static void getNewsJSON(final String url, final Handler handler){ new Thread(n

jQuery中deferred对象详解及源码分析

jQuery的deferred对象使用详解 jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本.每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能--deferred对象.这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax.为了实现它,jQuery的全部ajax代码都被改写了.但是,它比较抽象,初学者很难掌握,网上的教程也不多.所以,我把自己的学习笔记整理出来了,希望对大家有用. 本文不

javascript中活灵活现的Array对象详解_javascript技巧

前言 JavaScript中的Array对象,就是我们常说的数组对象,主要用于封装多个任意类型的数据,并对它们进行管理. 所有主流浏览器均支持Array对象. 大家都知道Array实例有这四个方法:push.pop.shift.unshift.大家也都知道 push + pop实现栈, shift + push实现队列.在这里不讨论什么先进后出.先进先出. 但一面这个题将要用到这几个方法. 题目 螺旋矩阵这个名词,在后台语言中可能很熟悉,他是个二维数组,他有什么特点呢?请看下图: 以上是一个从外

王老吉红绿之争 广药欲组建公司接管“红罐”

估值1080亿元的红罐王老吉的商标使用期限愈来愈近,面对如此诱人的蛋糕,8月29日,广药集团副总经理施少斌表示:"广药集团有计划专门组建一个大健康产业有限公司." 其主营业务为商贸.股权投资.品牌授权.品牌租赁和市场推广,将围绕王老吉展开多种形式的授权与合资. 借力多渠道运作王老吉 广药集团总经理李楚源日前透露,为实现大健康产业的扩张,对外部将继续采用"合资+授权"的模式. 李楚源表示,继王老吉品牌授权推出了王老吉固元粥.莲子绿豆爽两款产品. 近期旗下兄弟公司白云山

&#106avascript的document和window对象详解

window|对象|详解 [document对象] 该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档. 属性 alinkColor 活动链接的颜色(ALINK) anchor 一个HTMI锚点,使用<A NAME=>标记创建(该属性本身也是一个对象) anchors array 列出文档锚点对象的数组(<A NAME=>)(该属性本身也是一个对象) bgColor 文档的背景颜色(BGCOLOR) cookie 存储于cookie.txt文件内的一段

JavaScript的document对象详解

javascript|对象|详解 1.对象属性document.title //设置文档标题等价于HTML的<title>标签document.bgColor //设置页面背景色document.fgColor //设置前景色(文本颜色)document.linkColor //未点击过的链接颜色document.alinkColor //激活链接(焦点在此链接上)的颜色document.vlinkColor //已点击过的链接颜色document.URL //设置URL属性从而在同一窗口打开