如何轉換Color
到Brush
在C#中?從顏色轉換成刷
從顏色轉換成刷
回答
這是Color
到Brush
....
你不能將它,你必須做出一個新的刷....
SolidColorBrush brush = new SolidColorBrush(myColor);
現在,如果你需要它XAML,你可以做一個自定義值轉換器,並使用在綁定
Brush brush = new SolidColorBrush(color);
鄰其他方式:
if (brush is SolidColorBrush)
{
Color color = (brush as SolidColorBrush).Color;
}
或類似的東西。
點是不是所有刷子的顏色,但你可以把所有的顏色爲(的SolidColor)刷。
顏色刷! – raiserle 2018-01-04 16:30:51
@raiserle:對於您的信息,問題內容曾經是'我想從c#中的筆刷轉換爲顏色',而標題則是另一種方式。 – 2018-01-04 19:36:22
SolidColorBrush brush = new SolidColorBrush(Color.FromArgb(255,255,139,0))
您可以使用此:
new SolidBrush(color)
,其中顏色是這樣的:
Color.Red
或
Color.FromArgb(36,97,121))
或...
爲了向後兼容,這個答案是更好,因爲'SolidBrush'('System.Drawing')是因爲.NET Framework 1.1中提供,而'SolidColorBrush'('System.Windows。媒體「)從.NET Framework 3.0開始可用。 – mbjoe 2018-01-31 15:47:45
如果您恰好正在使用混合了Windows窗體和WPF的應用程序,則可能會出現將System.Drawing.Color轉換爲System.Windows.Media.Color的額外複雜功能。 我不知道是否有這樣做的更簡單的方法,但我沒有這樣說:
System.Drawing.Color MyColor = System.Drawing.Color.Red;
System.Windows.Media.Color = ConvertColorType(MyColor);
System.Windows.Media.Color ConvertColorType(System.Drawing.Color color)
{
byte AVal = color.A;
byte RVal = color.R;
byte GVal = color.G;
byte BVal = color.B;
return System.Media.Color.FromArgb(AVal, RVal, GVal, BVal);
}
然後你可以使用前面提到轉換爲Brush的技術之一。
它通常足夠使用兄弟姐妹的或父母的畫筆爲目的,那就是在WPF容易獲得通過檢索他們的前景或背景屬性。
我收到同樣的問題,這裏是我的類,它解決了顏色轉換 使用它,並享受:
這裏你要去,用我的同班同學多色彩轉換
using System;
using System.Windows.Media;
using SDColor = System.Drawing.Color;
using SWMColor = System.Windows.Media.Color;
using SWMBrush = System.Windows.Media.Brush;
//Developed by امین امیری دربان
namespace APREndUser.CodeAssist
{
public static class ColorHelper
{
public static SWMColor ToSWMColor(SDColor color) => SWMColor.FromArgb(color.A, color.R, color.G, color.B);
public static SDColor ToSDColor(SWMColor color) => SDColor.FromArgb(color.A, color.R, color.G, color.B);
public static SWMBrush ToSWMBrush(SDColor color) => (SolidColorBrush)(new BrushConverter().ConvertFrom(ToHexColor(color)));
public static string ToHexColor(SDColor c) => "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
public static string ToRGBColor(SDColor c) => "RGB(" + c.R.ToString() + "," + c.G.ToString() + "," + c.B.ToString() + ")";
public static Tuple<SDColor, SDColor> GetColorFromRYGGradient(double percentage)
{
var red = (percentage > 50 ? 1 - 2 * (percentage - 50)/100.0 : 1.0) * 255;
var green = (percentage > 50 ? 1.0 : 2 * percentage/100.0) * 255;
var blue = 0.0;
SDColor result1 = SDColor.FromArgb((int)red, (int)green, (int)blue);
SDColor result2 = SDColor.FromArgb((int)green, (int)red, (int)blue);
return new Tuple<SDColor, SDColor>(result1, result2);
}
}
}
- 1. XAML:將筆刷轉換爲顏色?
- 2. 顏色轉換
- 3. 顏色轉換
- 4. 轉換顏色
- 5. 轉換INT顏色爲int成分
- 6. 顏色轉換器
- 7. 從顏色代碼刷
- 8. PHP:以X步驟從顏色轉換爲顏色
- 9. 從RGB到YUV的顏色轉換(YCoCg)
- 10. 將顏色從colorWithRGBA轉換爲colorWithWhite
- 11. 從顏色轉換回數字在JavaScript
- 12. 從顏色轉換爲畫筆
- 13. 轉換RGB值轉換爲顏色
- 14. 圓形顏色轉換
- 15. WPF中的顏色轉換
- 16. CIELab顏色空間轉換
- 17. RGB到CIE顏色轉換
- 18. 將uint轉換爲顏色
- 19. Android顏色轉換問題
- 20. 將顏色轉換爲ConsoleColor?
- 21. java中的顏色轉換
- 22. 轉換16bit顏色爲32bit
- 23. 連續顏色轉換
- 24. Cocos2D轉換顏色問題
- 25. DirectShow DMO顏色轉換器
- 26. 顏色轉換問題
- 27. Animate顏色變化轉換
- 28. 從真彩色圖像轉換爲調色板顏色
- 29. RGB LED顏色褪色/轉換庫
- 30. 將CMYK PDF轉換爲專色(顏色)
爲了向後兼容,這將是更好使用'SolidBrush'('System.Drawing'),這是因爲.NET框架1.1可用,而不是'SolidColorBrush'('System.Windows.Media'),可以從開始.NET Framework 3.0。 – mbjoe 2018-01-31 15:45:34