コード例 #1
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
 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;
 }
コード例 #2
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
 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);
 }
コード例 #3
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
        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());
        }
コード例 #4
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
 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);
 }
コード例 #5
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
 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);
 }
コード例 #6
0
ファイル: ImageUtil.cs プロジェクト: jimjag/crayon
 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);
 }