public static void GetPixel(object bmpRaw, object nullableEditSession, int x, int y, int[] colorOut) { Wax.Util.Images.UniversalBitmap bmp = (Wax.Util.Images.UniversalBitmap)bmpRaw; if (x < 0 || y < 0 || x >= bmp.Width || y >= bmp.Height) { colorOut[4] = 0; return; } colorOut[4] = 1; bmp.GetPixel(x, y, colorOut); return; }
public static object Scale(object rawBmp, int newWidth, int newHeight, int algo) { if (algo != 1) { throw new NotImplementedException(); } Wax.Util.Images.UniversalBitmap original = (Wax.Util.Images.UniversalBitmap)rawBmp; Wax.Util.Images.UniversalBitmap target = new Wax.Util.Images.UniversalBitmap(newWidth, newHeight); target.CreateNewDrawingSession().Draw(original, 0, 0, 0, 0, newWidth, newHeight, original.Width, original.Height).Flush(); target.ClearBuffer(); return(target); }
public static object Encode(object bmpObj, int format, bool[] formatOut) { Wax.Util.Images.UniversalBitmap bmp = (Wax.Util.Images.UniversalBitmap)bmpObj; byte[] bytes; switch (format) { case 1: bytes = bmp.GetBytesAsPng(); break; case 2: bytes = bmp.GetBytesAsJpeg(); break; default: throw new Exception(); } formatOut[0] = false; return(bytes.Select(b => (int)b).ToArray()); }
public static bool FromBytes(int[] bytesAsInts, int[] sizeOut, object[] nativeDataOut) { Wax.Util.Images.UniversalBitmap bmp = new Wax.Util.Images.UniversalBitmap(bytesAsInts.Select(b => (byte)b).ToArray()); if (!bmp.IsValid) { nativeDataOut[0] = null; } else { sizeOut[0] = bmp.Width; sizeOut[1] = bmp.Height; nativeDataOut[0] = bmp; } return(true); }
public static void Blit(object targetObj, object srcObj, int sx, int sy, int sw, int sh, int tx, int ty, int tw, int th) { Wax.Util.Images.UniversalBitmap.DrawingSession target = (Wax.Util.Images.UniversalBitmap.DrawingSession)targetObj; Wax.Util.Images.UniversalBitmap src = (Wax.Util.Images.UniversalBitmap)srcObj; target.Draw(src, tx, ty, sx, sy, tw, th, sw, sh); }
public static object StartEditSession(object bmpObj) { Wax.Util.Images.UniversalBitmap bmp = (Wax.Util.Images.UniversalBitmap)bmpObj; Wax.Util.Images.UniversalBitmap.DrawingSession session = bmp.CreateNewDrawingSession(); return(session); }