怎样反色填充矩形?
急用,根据不同的背景颜色来反显!

解决方案 »

  1.   

    [DllImport("gdi32.dll")]public static extern int SetROP2(IntPtr hdc, BinaryRasterOperations ops);User-Defined Types:public enum BinaryRasterOperations {    R2_BLACK            = 1,
        R2_NOTMERGEPEN      = 2,
        R2_MASKNOTPEN       = 3,
        R2_NOTCOPYPEN       = 4,
        R2_MASKPENNOT       = 5,
        R2_NOT          = 6,
        R2_XORPEN       = 7,
        R2_NOTMASKPEN       = 8,
        R2_MASKPEN      = 9,
        R2_NOTXORPEN    = 10,
        R2_NOP          = 11,
        R2_MERGENOTPEN      = 12,
        R2_COPYPEN      = 13,
        R2_MERGEPENNOT      = 14,
        R2_MERGEPEN     = 15,
        R2_WHITE        = 16
    }
      

  2.   

    to 怎样反色填充矩形?如果是擦掉原来所画的矩形,用Graphics.Clear( previouscolor );
      

  3.   

    不用API就没有别的办法了吗?
      

  4.   

    当你选择TextBox里的字符串时,字体是白色,背景是蓝色
    不是擦掉颜色
      

  5.   

    可以不用api,你可以把颜色值取出来,转换成rgb,分别进行求反,再组合成color,最后用此颜色进行重画。