我知道Color有个ARGB,但和RGB并不一样。
例如Color为蓝色,则ARGB为0xff0000ff, 但0x0000ff并不是正确的与之对应的颜色
希望赐教

解决方案 »

  1.   

    从R,G,B的值可以得到一个Color,如:
    Color c = Color.FromArgb(red, green, blue);从一个Color可以得到一个颜色的整数表示如:
    int colorValue = c.ToArgb();所以,如果你知道RGB的值,可以用Color.FromArgb得到Color,
    如果你想知道一个颜色的数据表示,可以用ToArgb()得到.
      

  2.   

    对一个Color来说,有足够的构造函数可以来用:
    Color FromArgb(int argb);
    Color FromArgb(int alpha, Color baseColor);
    Color FromArgb(int red, int green, int blue);
    Color FromArgb(int alpha, int red, int green, int blue);
    Color FromKnownColor(KnownColor color);
    Color FromName(string name);那和楼主说的RGB来比,不是更好用了吗?
      

  3.   

    我想通过COLOR得到RGB值,来应用到createPen中,ARGB不对
      

  4.   

    楼主说的是API的CreatePen吗?
      

  5.   

    System.Drawing.Color b = System.Drawing.Color.Blue;
    b.R
    b.G
    b.B
    三个属性
      

  6.   

    你可以用如下的方法来得到整数表示的Color来建立一个画笔:Color c = Color.Red;
    int colorValue = ((c.R | (c.G << 8)) | (c.B << 0x10));
      

  7.   

    COLOR 中的RGB 可以对应于GDI 中的RGB .
    COLOR中的A 是指transparent.
      

  8.   

    是API的createPen,例如通过color得到的ARGB 0xff0000ff表示蓝色,去掉A,我估计对应的RGB应该为0x0000ff, 但分别用GDI+中的drawLine 和GDI中的Lineto 画出的线颜色并不一样,请教为什么啊?
      

  9.   

    对了,我才来CSDN 不久,给分怎么还要密码呀?
      

  10.   

    应该是一样的.你检查一下GDI+中DRAWLINE 时用的PEN 或者BRUSH 的COLOR 设置. 再看看GDI 中的LINETO .
    最简单的方法是大家都用黑色, 你看以下, 应该是一样的.
      

  11.   

    谢谢ms44(ms44)提醒,我设置了SetRop2,所以不一样了,其实是一样的,结贴