在C#中替换Information.RGB

时间:2017-09-11 09:56:58

标签: c# vb.net colors

public static int DarkenColor1(int oleColor, float sngRatio)
{
    int R= oleColor & 255;
    int G= (int)(((long)oleColor & 65280L) / 256L);
    int B= (oleColor & 16711680) / 65536;               
    return Information.RGB((int)(R / sngRatio), (int)(G / sngRatio), (int)(B / sngRatio));            
}

如何用纯C#代码替换Information.RGB,这是VB.NET?我不喜欢using Microsoft.VisualBasic

1 个答案:

答案 0 :(得分:0)

使用ColorTranslator.ToOle将指定的C#Color结构转换为OLE颜色。

public static int DarkenColor1(int oleColor, float sngRatio)
{
    int R= oleColor & 255;
    int G= (int)(((long)oleColor & 65280L) / 256L);
    int B= (oleColor & 16711680) / 65536;               
    //return Information.RGB((int)(R / sngRatio), (int)(G / sngRatio), (int)(B / sngRatio)); 
    return ColorTranslator.ToOle(Color.FromArgb((int)(R / sngRatio), (int)(G / sngRatio), (int)(B / sngRatio));            
}