protected override void Initialize(InternalAGSBitmap bitmap) { unsafe { var linesPtr = (short*)bitmap.line; for (int y = 0; y < this.Height; y++) { for (int x = 0; x < this.Width; x++) { short s = *linesPtr; var red = (byte)((s & 0x7c00) >> 7); var green = (byte)((s & 0x03e0) >> 2); var blue = (byte)((s & 0x001f) << 3); this.Pixels[x + y * this.Width] = new Colour(255, red, green, blue); linesPtr++; } } } }
protected override void Initialize(InternalAGSBitmap bitmap) { unsafe { var linesPtr = (int*)bitmap.line; for (int y = 0; y < this.Height; y++) { for (int x = 0; x < this.Width; x++) { int s = *linesPtr; var red = (byte)((s >> 16) & 0xff); var green = (byte)((s >> 8) & 0xff); var blue = (byte)(s & 0xff); this.Pixels[x + y * this.Width] = new Colour(255, red, green, blue); linesPtr++; } } } }
protected abstract void Initialize(InternalAGSBitmap bitmap);