自定义形状控件 c++ 的渐变填充
Gradientfill for custom shape control c++
我想为圆角矩形的一个边缘绘制渐变填充。我尝试使用
GradientFill
API 组合
BeginPath()
EndPath()
SelectClipPath()
API,但它不起作用。
由于 RoundRect 是 windows API,我们是否有一些 windows API 来对圆角矩形执行渐变填充。
更具体地说,我们可以将渐变填充限制在任何边缘吗?
您可以使用 GDI 执行此操作。 函数的顺序为:
BeginPath
RoundRect
EndPath
WidenPath
SelectClipPath
GradientFill
这将使用渐变绘制圆角矩形的整个边框。 关键是WidenPath
. 这会在设备上下文中创建一条新路径,相当于使用当前笔划旧路径时将填充的区域。
,请在单个边缘上执行渐变填充。 您可以轻松计算边缘的位置。
更新
如果您还想用渐变填充填充内部,请先使用相同的函数序列而不使用WidenPath
,然后绘制轮廓。 将两者与类似的东西结合起来 BeginPath, RoundRect, EndPath, SaveDC, SelectClipPath, GradientFill, RestoreDC, WidenPath, SelectClipPath, GradientFill
.
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 通过for循环使用用户输入填充列表
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 如何正确填充在堆上分配的二维数组?
- 将数字转换为填充字符串
- 有没有办法在一行中填充矢量图
- 用C++中的数字和条件填充向量
- 用真值填充矢量
- 使用结构成员指针在C++中填充结构
- 流填充字符的默认定位
- 使用不同算法的 PKCS1v15 填充进行加密 ++ 签名
- C++:使用缓冲区中的数据填充结构
- 如何将零填充的多维数组传递给 C++ 中的函数?
- Cryptopp:获取密码输入的填充字符串
- 填充上编译器生成的复制构造函数之间的不一致
- RcppEigen 模板化函数,用于填充单位法线
- 自定义形状控件 c++ 的渐变填充