示例#1
0
        unsafe void ShowPalette(int[] PaletteFormat)
        {
            Gdk.Window gr      = image1.GdkWindow;
            int        y       = 0;
            int        x       = 0;
            int        xoffset = 500;
            int        yoffset = 70;
            int        w       = 16;
            int        h       = 10;

            for (int j = 0; j < PaletteFormat.Length; j++)
            {
                y = (j / 16) * h;
                x = (j % w) * w;
                List <byte> buff = new List <byte>();
                for (int i = 0; i < w * h; i++)
                {
                    int color = PaletteFormat[j];
                    buff.Add((byte)((color >> 16) & 0xFF)); //Red
                    buff.Add((byte)((color >> 8) & 0xFF));  //Green
                    buff.Add((byte)((color >> 0) & 0xFF));  //Blue
                }
                gr.DrawRgbImage(image1.Style.BackgroundGC(StateType.Normal), xoffset + x, yoffset + y, w, h,
                                RgbDither.Normal, buff.ToArray(), 0);
            }
        }