本文整理汇总了C#中Color4.ToSRgb方法的典型用法代码示例。如果您正苦于以下问题:C# Color4.ToSRgb方法的具体用法?C# Color4.ToSRgb怎么用?C# Color4.ToSRgb使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Color4
的用法示例。
在下文中一共展示了Color4.ToSRgb方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PremultiplyAlpha
// Converts a bitmap to premultiplied alpha format.
public static void PremultiplyAlpha(Bitmap bitmap, bool srgb)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadWrite))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
DrawingColor color = bitmapData[x, y];
int a = color.A;
int r;
int g;
int b;
if (srgb)
{
var colorLinear = new Color4(new SiliconStudio.Core.Mathematics.Color(color.R, color.G, color.B)).ToLinear();
colorLinear *= color.A / 255.0f;
var colorSRgb = (SiliconStudio.Core.Mathematics.Color)colorLinear.ToSRgb();
r = colorSRgb.R;
g = colorSRgb.G;
b = colorSRgb.B;
}
else
{
r = color.R * a / 255;
g = color.G * a / 255;
b = color.B * a / 255;
}
bitmapData[x, y] = DrawingColor.FromArgb(a, r, g, b);
}
}
}
}