win32-使用FillRect绘制具有渐变颜色的客户区域背景
void OnEraseBkGnd(HWND hwnd)
{
/* Vars */
HDC dc; /* Standard Device Context; used to do the painting */ /* rect = Client Rect of the window;
Temp = Temparory rect tangle for the color bands */
RECT rect, temp;
HBRUSH color; /* A brush to do the painting with */ /* Get the dc for the wnd */
dc = GetDC(hwnd); /* Get the client rect */
GetClientRect(hwnd, &rect); /* Start color; Change the R,G,B values
to the color of your choice */
int r1 = 255, g1 = 0, b1 = 0; /* End Color; Change the R,G,B values
to the color of your choice */
int r2 = 255, g2 = 255, b2 = 0; /* loop to create the gradient */
for (int i = 0; i < rect.right; i++)
{
/* Color ref. for the gradient */
int r, g, b;
/* Determine the colors */
r = r1 + (i * (r2 - r1) / rect.right);
g = g1 + (i * (g2 - g1) / rect.right);
b = b1 + (i * (b2 - b1) / rect.right); /* Fill in the rectangle information */ /* The uper left point of the rectangle
being painted; uses i as the starting point*/
temp.left = i;
/* Upeer Y cord. Always start at the top */
temp.top = 0;
/* Okay heres the key part,
create a rectangle thats 1 pixel wide */
temp.right = i + 1;
/* Height of the rectangle */
temp.bottom = rect.bottom; /* Create a brush to draw with;
these colors are randomized */
color = CreateSolidBrush(RGB(r, g, b)); /* Finally fill in the rectangle */
FillRect(dc, &temp, color);
}
}
将OnEraseBkGnd()放到WM_ERASEBKGND事件中。
win32-使用FillRect绘制具有渐变颜色的客户区域背景的更多相关文章
- 跟我一起玩Win32开发(23):渐变颜色填充
GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充.我们先来看看GradientFill函数到底长得什么样子,帅不帅. BOOL GradientFill( _In_ ...
- CSS3-canvas绘制线性渐变
<!doctype html><html><head><meta charset="utf-8"><title>canv ...
- 绘制窗体渐变背景的函数[delphi]
绘制窗体渐变背景的函数,三个参数分别代表起始颜色,终止颜色,绘制方向procedure TForm1.Draw(StartColor:TColor;EndColor:TColor;Direction: ...
- 32.QT-制作最强电压电阻表盘,可以自定义阴影效果,渐变颜色,图标,文字标签等-附带demo程序
由于上位机需要绘制电压电阻表盘,如下图所示: 后来,在网上找阿找,还是没找到满意的,索性自己来画控件算了,由于第一次画控件,所以花了我2天时间,才画好 效果图如下: 上图的所有颜色(包括滑动的渐变/单 ...
- 【原】Github系列之三:开源iOS下 渐变颜色的进度条WGradientProgress
概述 今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有“B格”.它拥有渐变的颜色,而且这种颜色是动态移 ...
- 渐变颜色的进度条WGradientProgress-备用
今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有“B格”.它拥有渐变的颜色,而且这种颜色是动态移动的, ...
- CAGradientLayer渐变颜色动画
CAGradientLayer渐变颜色动画 或许你用过CAGradientLayer,你知道他是用于渐变颜色的,但你是否直到,CAGradientLayer的渐变颜色是可以动画的哦. 源码: // / ...
- iOS实现渐变颜色
下面是我的两种实现: 1.直接图片展示,注意图片的变形问题; 2.用CAGradientLayer渐变颜色实现; 代码如下: // // ViewController.m // ImageStrenc ...
- win2d 渐变颜色
本文告诉大家如何在 win2d 使用渐变颜色 线条渐变 在 UWP 的 Win2d 使用渐变颜色需要 CanvasLinearGradientBrush 做颜色,本文告诉大家如何在 win2d 使用 ...
- 好看的css渐变颜色大全网址
60个渐变颜色 https://webkul.github.io/coolhue/ 60个非常有用的CSS代码片段 https://baijiahao.baidu.com/s?id=160278735 ...
随机推荐
- [转帖]clickhouse使用clickhouse-keeper代替zookeeper
目录 异常现象: 1. clickhouse的异常日志 2. 追踪对应节点的zookeeper日志 使用clickhouse-keeper代替 zookeeper的步骤: 1: 准备 clickhou ...
- [转帖]Jmeter创建简单的HTTP(S)请求测试-3
在上一章节中,介绍了Jmeter基本的组成组件,那么我们如何使用这些组件去完成测试呢,以下将通过创建一个简单的HTTP(S)测试进行说明,另外,除JDBC请求外,Jmeter进行测试构建的步骤大同小异 ...
- 【转帖】什么是RLHF
什么是RLHF? **字面翻译:**RLHF (Reinforcement Learning from Human Feedback) ,即以强化学习方式依据人类反馈优化语言模型. 强化学习从人类反馈 ...
- [转帖]【JVM】类加载机制
什么是类的加载 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产 ...
- [转帖]【JVM】线程安全与锁优化
线程安全 1.定义 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果 2. ...
- GS7 备份恢复之后客户端登录报错的解决方法:COM 类工厂中 CLISID 为 xxxx的组建失败, 原因是出现了一下错误 8000401a
1. 最近需要创建一个用户的数据库应用信息, 备份恢复之后发现有时候一些环境无法使用. COM 类工厂中 CLISID 为 xxxx的组建失败, 原因是出现了一下错误 8000401a 错误图片为 2 ...
- element-plus 按需引入将英文组件修改为中文
element-plus 默认是英文组件:如下图 将它设置为中文组件 app.vue文件 <template> <el-config-provider :locale="l ...
- package.json中^,~的详细说明
场景描述 在package.json这个文件中,我们经常可以看见这样的信息 但是我们很少注意的是 版本前面的 ^ 到底是什么意思 今天我们就来讲一下(端好小板凳) "dependencies ...
- 2023年第七届蓝帽杯初赛wp
取证检材容器密码:Hpp^V@FQ6bdWYKMjX=gUPG#hHxw!j@M9 案情介绍 2021年5月,公安机关侦破了一起投资理财诈骗类案件,受害人陈昊民向公安机关报案称其在微信上认识一名昵称为 ...
- 修改U盘图标
效果如下 方法如下 首先,您需要准备一张您想要设置的图标,它应该是一个512 x 512像素大小的PNG格式图片,其他的也无所谓建议512x512 将U盘插入电脑.确保它已被正确识别并显示在文件资源管 ...