2014-06-04 65 views
2

我正在使用C#和WPF的程序工作,我很想知道如何獲取一些文本的文本顏色,我必須根據我設置的背景圖像動態更改是。C#WPF - 基於背景圖像動態改變文本顏色

背景圖像隨機加載(我將無法控制它們是什麼),我需要根據它是什麼來保持字體的可讀性。

正如你可以在這裏看到:http://i.gyazo.com/820c45dde9d767dcd7ab2a92bd1de898.png

在這樣的背景圖像集,有沒有辦法讀什麼文本的意見。同時,在較淺的背景下它看起來很好。

基本上我覺得需要做的是

  1. 獲取該圖像
  2. 中最常用的顏色查找出來,如果這是一個「亮或暗的顏色」
  3. 改變文本的相應 怎麼可能我這樣做?無論是以編程方式還是WPF XAML(我仍然對使用WPF都很陌生,所以請在這裏支持)。

在先進的感謝,

邁克

+3

您可以使用轉換器'處理某些數據後設置屬性'。看看http://wpftutorial.net/ValueConverters.html。如果您可以綁定到圖像並使用轉換器,則可以設置Text元素的前景。 – krishnaaditya

+3

你的文本仍然不會被讀取。如果最常用的顏色是黑色,並且您決定使用白色,那麼文本仍然有可能位於背景的某個白色區域。帶有白色輪廓的黑色文本可以在任何東西上閱讀。 –

回答

1

我會同意,試圖動態選擇文本顏色不理想。即使您選擇了使某些文字可見的顏色,也無法保證它不會通過隱藏它的部分圖像。

就我個人而言,我會使用白色背景的標籤,但減少背景不透明度以顯示背後的圖像的一部分。這樣,您的文字將始終位於輕鬆的區域,黑暗的文字始終可以正常工作。

Andy。