private void Create(int w, int h, GlyphMode mode, byte[] pixelData, Color[] palette) { switch (mode) { case GlyphMode.RGB: Init(Iup.ImageRGB(w, h, pixelData)); break; case GlyphMode.RGBA: Init(Iup.ImageRGBA(w, h, pixelData)); break; case GlyphMode.Indexed: default: Init(Iup.Image(w, h, pixelData)); if (palette != null) { for (int i = 0; i < palette.Length; i++) { Handle.SetStrAttribute(Format.Int(i), Format.Color(palette[i])); } } break; } }
public Glyph(int w, int h, GlyphMode mode, byte[] pixelData = null, Color[] palette = null) : base(null) { Create(w, h, mode, pixelData, palette); }