【发布时间】:2014-07-25 17:56:38
【问题描述】:
我正在开发一个使用 C# 和 WPF 的程序,我很想知道一些文本的文本颜色,我必须根据我设置的背景图像动态更改。
背景图片是随机加载的(我无法控制它们是什么),我需要根据它是什么来保持字体的可读性。
如您所见:http://i.gyazo.com/820c45dde9d767dcd7ab2a92bd1de898.png
使用此背景图片集,无法阅读文字内容。同时,在较浅的背景下看起来也不错。
基本上我认为需要发生的是
- 获取该图像中最常用的颜色
- 找出它是“浅色还是深色”
- 相应地更改文本 我怎么能这样做?无论是以编程方式还是在 WPF XAML 中(我对使用 WPF 还是很陌生,所以请耐心等待)。
非常感谢,
迈克
【问题讨论】:
-
您可以使用转换器“在处理一些数据后设置属性”。看看wpftutorial.net/ValueConverters.html。如果可以绑定图片并使用转换器,则可以设置Text元素的前景。
-
您的文本仍然很可能无法阅读。如果最常用的颜色是黑色并且您决定使用白色,则文本仍有可能位于背景的某些白色区域上。不过,带有白色轮廓的黑色文本可以在任何内容上阅读。