我想在中心绘制一个百分比的进度条, 但我希望文字具有背景的负(对比)颜色。
因此,ProgressBar填充部分上的文本部分将为白色,未填充部分的部分将为白色。
我可以简单地通过“作弊”
来做到这一点在这个应用程序中,两次绘制文本的性能影响可以忽略不计,但我感兴趣的是,如果有一些简单的方法只用两个步骤(比如让进度条以某种方式反转已经绘制的文本)用混合
答案 0 :(得分:4)
你做得很好。像SetROP2()这样的旧技巧不再适用于文本获得消除锯齿,特别是使用ClearType渲染。使用错误的颜色获取锯齿像素非常明显。因此,Graphics.CompositingMode不再支持这些效果。
答案 1 :(得分:0)
您可以使用XOR计算负(反转)颜色;
Public Function InvertColor(color As Long) As Long
Return (color Xor &HFFFFFF)
End Function