void FillSurface565(Color color) { ushort pixelData = ColorEncoder.Format565FromColor(color); byte[] pixelBytes = BitConverter.GetBytes(pixelData); ulong pixelQuad = BitConverter.ToUInt64 ( new byte[] { pixelBytes[0], pixelBytes[1], pixelBytes[0], pixelBytes[1], pixelBytes[0], pixelBytes[1], pixelBytes[0], pixelBytes[1] }, 0 ); for (int index = 0; index < (surface.Height * (surface.Stride >> 2)); index++) { *((( ulong * )surface.Memory) + index) = pixelQuad; } }
public void PlotPixelFast565(Point position, Color color) { *(( ushort * )(surface.Memory) + YValues[position.Y] + position.X) = ColorEncoder.Format565FromColor(color); }