如何轉換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. 轉換INT顏色爲int成分
- 4. 顏色轉換器
- 5. 從RGB到YUV的顏色轉換(YCoCg)
- 6. 從顏色轉換爲畫筆
- 7. Cocos2D轉換顏色問題
- 8. Android顏色轉換問題
- 9. 圓形顏色轉換
- 10. Animate顏色變化轉換
- 11. 將顏色轉換爲ConsoleColor?
- 12. WPF中的顏色轉換
- 13. 轉換16bit顏色爲32bit
- 14. 從真彩色圖像轉換爲調色板顏色
- 15. 將CMYK PDF轉換爲專色(顏色)
- 16. 從Guid生成顏色
- 17. 將RGBA顏色轉換爲HTML顏色代碼
- 18. 將十六進制顏色代碼轉換爲顏色名稱
- 19. 將HTML HEX顏色或RGB元組轉換爲X11顏色
- 20. 轉換UINT顏色ARGB十六進制顏色KML
- 21. 直接將CMYK顏色轉換爲HSV顏色
- 22. 將12位顏色值轉換爲8位顏色值C++
- 23. 將RGB顏色轉換爲C中最接近的ACI顏色#
- 24. 如何將HEX顏色轉換爲smali顏色(Java)?
- 25. 轉換RGB顏色英文顏色的名稱,如與Python
- 26. 將文本顏色轉換爲bg上的顏色
- 27. 如何十六進制顏色轉換爲RGB顏色(24位)
- 28. RGB 24位到16位顏色轉換 - 顏色變暗
- 29. 如何將顏色字符串轉換爲顏色對象?
- 30. 可能有從A顏色到B顏色的背景顏色轉換而不重複像素棒?
爲了向後兼容,這將是更好使用'SolidBrush'('System.Drawing'),這是因爲.NET框架1.1可用,而不是'SolidColorBrush'('System.Windows.Media'),可以從開始.NET Framework 3.0。 – mbjoe 2018-01-31 15:45:34