2011-04-26 68 views
1

我的問題很簡單:如何根據顏色選擇更改圖標?FontColor基於選擇的圖標更改

假設我以帶紅色下劃線的A開頭。如果我從彩色選擇器中選擇藍色,我如何在我的A下獲得藍色?

感謝 團隊條既納

+2

哪個UI框架?的WinForms? WPF? Silverlight的? ASP.NET? XNA? – 2011-04-26 15:33:07

+0

感謝Joe White的回覆,很抱歉,我未能提供更多信息。幸運的是,科迪·格雷能夠指引我朝着正確的方向發展:) – 2011-04-27 07:16:37

+1

如果你告訴我們你正在使用哪種UI框架,它仍然會有所幫助。別忘了,這個問題和答案在這裏供其他人在將來用作參考。通過不指定你的問題是*,你正在做他們的傷害。 – 2011-04-27 12:43:30

回答

4

你提的問題是必要的細節令人驚訝的缺乏,所以我要去嘗試,看看我能在一些空白的填補......

我認爲通過「圖標」,你的意思是你發現的那個看起來與Microsoft Word中使用的相似:       而且我假設你已經在某種類型的工具欄中放置了該圖標。而且我進一步假設,在單擊工具欄中的圖標(或圖標旁邊的下拉箭頭)後,用戶將看到顏色選擇器控件,用戶可以從中選擇自定義顏色。

所以你的問題是,我如何改變默認的紅色下劃線,以匹配用戶在我的顏色選擇器控件中選擇的顏色。

簡短的答案是,你不能。如果您密切關注,大多數應用程序不會根據所選顏色更新此圖標的顏色。考慮到一旦完成後它將爲你的應用增加很少的價值,它的價值遠遠超過它的價值。令人驚訝的是,即使通知這個「功能」,很少有用戶。

但是,如果您想要這樣做,您需要在用戶選擇顏色後即時創建並修改圖標。從一個模板圖標開始,一個沒有任何顏色的顏色矩形填充。您可以使用圖標編輯器應用程序(如我個人最喜歡的IcoFX)從現有圖標創建此圖標。創建模板圖標後,您需要編寫將該圖標加載到位圖(System.Drawing.Bitmap)中的代碼,使用所選顏色填充相應的矩形區域(Graphics.FillRectangle),然後將該位圖轉換回圖標。最後,將你在內存中創建的圖標分配給工具欄按鈕,並驚歎你已經完成了什麼。

+0

感謝科迪的回答。抱歉缺乏信息(我認爲我的問題很清楚,但你說得對,我應該提供給你更多的信息),但是你所有的假設都是正確的;我也會聽你的建議,並且無論如何,我會以它的方式離開它,它只是一個小功能。謝謝你的回答,這正是我需要的! – 2011-04-27 07:13:39

+0

@Team:這很好聽。有時候,我想知道我的答案是否令人沮喪。人們對實現的小功能有很好的想法,但我已經嘗試過自己完成大部分這些功能。事實證明,他們只是不值得。我認爲傳遞這些信息是最有價值的。我本來很想得到'專家'的確認,我所要做的只是更多的努力,而不是值得,我應該強烈地考慮放棄!無論如何,就像這些事情一樣,如果你決定最終要追求它,它就是可能的。 – 2011-04-27 07:26:23