private void FramesList_SingleFrameSelected(object o, DecodedFrame frame)
 {
     if (frame != FrameCanvasEditor.Frame)
     {
         FrameCanvasEditor.Frame = frame;
     }
 }
        public override List <DecodedFrame> GenerateFrames()
        {
            var res = new List <DecodedFrame>();

            int shift = 0;

            for (int k = 1; k <= 39; k++)
            {
                if (k > 12)
                {
                    shift++;
                }
                var f = new DecodedFrame();
                for (int i = -23 + k; i < -11 + k; i++)
                {
                    for (int j = 0; j < 12; j++)
                    {
                        PlaceSquare(f, (i + 2 * j) % 2 == 0 ? 1 : 2, i + j, j);
                    }
                }

                f.Layer1Color = LayerColor.BlackWhite;
                f.Layer2Color = LayerColor.Blue;
                f.SetImage(null, true);
                f.CreateThumbnail();
                res.Add(f);
            }
            return(res);
        }
 public void PlaceSquare(DecodedFrame frame, int layer, int px, int py)
 {
     if (!((0 <= px && px < 16) && (0 <= py && py < 12)))
     {
         return;
     }
     for (int x = 0; x < 16; x++)
     {
         for (int y = 0; y < 16; y++)
         {
             if (layer == 1)
             {
                 frame.Layer1Data[16 * px + x, 16 * py + y] = true;
             }
             else
             {
                 frame.Layer2Data[16 * px + x, 16 * py + y] = true;
             }
         }
     }
 }
Example #4
0
        private unsafe static Bitmap GetBitmap(DecodedFrame frame)
        {
            var ptr = new IntPtr(frame.Buffer);

            return(new Bitmap(frame.Width, frame.Height, 3 * frame.Width, System.Drawing.Imaging.PixelFormat.Format24bppRgb, ptr));
        }