gpt4 book ai didi

c# - Xamarin.Forms.Color 到十六进制值

转载 作者:可可西里 更新时间:2023-11-01 03:03:18 25 4
gpt4 key购买 nike

我有一个 Xamarin.Forms.Color,我想将它转换为“十六进制值”。

到目前为止,我还没有找到解决问题的办法。

我的代码如下:

foreach (var cell in Grid.Children)
{
var pixel = new Pixel
{
XAttribute = cell.X ,
YAttribute = cell.Y ,
// I want to convert the color to a hex value here
Color = cell.BackgroundColor
};
}

最佳答案

只是快速修复,最后一行是错误的。

Alpha channel 先于其他值:

string hex = String.Format("#{0:X2}{1:X2}{2:X2}{3:X2}", alpha, red, green, blue);

这是最好的扩展方法:

public static class ExtensionMethods
{
public static string GetHexString(this Xamarin.Forms.Color color)
{
var red = (int)(color.R * 255);
var green = (int)(color.G * 255);
var blue = (int)(color.B * 255);
var alpha = (int)(color.A * 255);
var hex = $"#{alpha:X2}{red:X2}{green:X2}{blue:X2}";

return hex;
}
}

关于c# - Xamarin.Forms.Color 到十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40890242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com