Delphi XE2 之 FireMonkey 入门(5) - TAlphaColor
来源:互联网 发布:公司屏蔽淘宝网 编辑:程序博客网 时间:2024/06/03 18:54
不是 TColor, 是 TAlphaColor 了.
TAlphaColor = type Cardinal; 还是一个整数.
四个字节分别是: AA RR GG BB(透明度、红、绿、蓝); 这和 TColor 的颜色序相反, 并增加了透明度.
在 HD 窗体上添加一个 TRectangle 和三个 TButton, 测试:
//下面四种赋值方法相同procedure TForm1.Button1Click(Sender: TObject);begin Rectangle1.Fill.Color := $FFFF0000; Rectangle1.Fill.Color := claRed; Rectangle1.Fill.Color := TAlphaColors.Red; Rectangle1.Fill.Color := TAlphaColorRec.Red;end;//通过函数构建 TAlphaColorprocedure TForm1.Button2Click(Sender: TObject);begin Rectangle1.Fill.Color := MakeColor(0, 0, 255); //另有 AppendColor()、SubtractColor() 等颜色加减或转换函数end;//通过 TAlphaColorRec 结构调整颜色获取或设置颜色分量procedure TForm1.Button3Click(Sender: TObject);var C: TAlphaColor; A,R,G,B: Byte;begin C := MakeColor($82, $00, $4B, $FF); Rectangle1.Fill.Color := C; A := TAlphaColorRec(C).A; R := TAlphaColorRec(C).R; G := TAlphaColorRec(C).G; B := TAlphaColorRec(C).B; ShowMessageFmt('%x %x %x %x', [A, R, G, B]); TAlphaColorRec(C).A := 127; //调下透明度 Rectangle1.Fill.Color := C; A := TAlphaColorRec(C).A; ShowMessageFmt('%x %x %x %x', [A, R, G, B]);end;
调整颜色的控件也很方便, 现在也能方便地调整: 色调、饱和度、亮度.
添加 TRectangle、TColorComboBox、TColorPanel、TColorPicker、TComboColorBox、TColorQuad 各一个, 测试:
//在 TColorComboBox 的 OnChange 中修改颜色procedure TForm1.ColorComboBox1Change(Sender: TObject);begin Rectangle1.Fill.Color := ColorComboBox1.Color;end;//在 TColorPanel 的 OnChange 中修改颜色procedure TForm1.ColorPanel1Change(Sender: TObject);begin Rectangle1.Fill.Color := ColorPanel1.Color;end;//在 TColorPicker 的 OnChange 中修改颜色procedure TForm1.ColorPicker1Click(Sender: TObject);begin Rectangle1.Fill.Color := ColorPicker1.Color;end;//在 TComboColorBox 的 OnChange 中修改颜色procedure TForm1.ComboColorBox1Change(Sender: TObject);begin Rectangle1.Fill.Color := ComboColorBox1.Color;end;//通过 TColorQuad 调整 HSL(色调、饱和度、亮度)procedure TForm1.ColorQuad1Change(Sender: TObject);var C: TAlphaColor;begin C := Rectangle1.Fill.Color; Rectangle1.Fill.Color := ChangeHSL(C, ColorQuad1.Hue, ColorQuad1.Sat, ColorQuad1.Lum); Caption := Format('%f, %f, %f', [ColorQuad1.Hue, ColorQuad1.Sat, ColorQuad1.Lum]);end;
在 System.UIConsts 单元也有 StringToAlphaColor()、AlphaColorToIdent()、IdentToAlphaColor() 等相关函数.
0 0
- Delphi XE2 之 FireMonkey 入门(5) - TAlphaColor
- Delphi XE2 之 FireMonkey 入门(1)
- Delphi XE2 之 FireMonkey 入门(2)
- Delphi XE2 之 FireMonkey 入门(7) - TText 与 TFont
- Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
- Delphi XE2 之 FireMonkey 入门(4) - 控件天生可做容器
- 电子书下载:Delphi XE 2 之FireMonkey 入门学习笔记
- Delphi XE2
- Delphi XE2 发布了
- DELPHI XE2马上推出
- Delphi XE2 Update4
- Delphi XE2 新技术说明
- Delphi XE2 - 点点滴滴设置
- Delphi Xe2下 PingIP
- Delphi XE2 的皮肤
- delphi xe2的LibraryPath
- delphi xe2下载地址
- 发现Delphi.XE2.Update3 上使用 FireMonkey 开发,对 TImage3D 连续多次点击后,OnClick事件就不响应的解决
- 2.struts2拦截器入门
- 对指针应用的总结
- MYSQL SQL优化
- source insight 查找功能
- PHP网站redis缓存方式分析
- Delphi XE2 之 FireMonkey 入门(5) - TAlphaColor
- struts2中获取目录的真实路径
- Pacman常用命令
- 仿支付宝金额滚动代码
- mysql解决远程不能访问的二种方法
- 手动编译安装PHP遇到错误以及解决方法记录
- Maven Myeclipse2014配置
- Sql Server中增删查改语句 及 表链接
- Delphi-XE5-手势操作-Gestures-使用方法