Beispiel #1
0
        public void FromBitmapCutting(Bitmap fullBmp, Color mark)
        {
            fullBmp.MakeTransparent(fullBmp.GetPixel(0, 0));
            Bitmap[] vertPieces = fullBmp.SplitVerticalByCol0(mark);
            vertPieces = vertPieces.Select(b => b.TrimTrailingRight(Color.Transparent)).ToArray();

            /*
             * for (int i = 0; i < vertPieces.Length; ++i)
             *  vertPieces[i].Save("vertPiece" + i + ".png");
             */

            Head = new NineContent();
            Head.FromBitmapCutting(vertPieces[0], mark);

            Side = new A1A2A3();
            Side.FromBitmapCutting(vertPieces[1].SliceX(1).SplitHorizontaByRow0(Color.Red)[0], mark);

            Waist = new NineContent();

            Waist.FromBitmapCutting(vertPieces[2], mark);

            FootCap = new ABC();
            FootCap.FromBitmapCutting(vertPieces[3].SliceX(2), mark);

            FootStack = new ABC();
            FootStack.FromBitmapCutting(vertPieces[4].SliceX(2), mark);
        }
Beispiel #2
0
        Bitmap AssembleA1A2A3(A1A2A3 a, int height)
        {
            height = Math.Max(a.MinHeight, height);
            Bitmap ret = new Bitmap(a.A1.Width, height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

            using (Graphics g = Graphics.FromImage(ret))
            {
                g.FastSettings();
                g.Clear(Color.Transparent);

                g.DrawImageUnscaled(a.A1, 0, 0);
                g.DrawImage(a.A2, new Rectangle(0, a.A1.Height, a.A1.Width, height - (a.A1.Height + a.A3.Height)));
                g.DrawImageUnscaled(a.A3, 0, height - a.A3.Height);
            }
            return(ret);
        }
Beispiel #3
0
        public void FromBitmapCutting(Bitmap fullBmp, Color mark)
        {
            fullBmp.MakeTransparent(fullBmp.GetPixel(0, 0));
            Bitmap[] vertPieces = fullBmp.SplitVerticalByCol0(mark);
            vertPieces = vertPieces.Select(b => b.TrimTrailingRight(Color.Transparent)).ToArray();

            /*
            for (int i = 0; i < vertPieces.Length; ++i)
                vertPieces[i].Save("vertPiece" + i + ".png");
             */

            Head = new NineContent();
            Head.FromBitmapCutting(vertPieces[0], mark);

            Side = new A1A2A3();
            Side.FromBitmapCutting(vertPieces[1].SliceX(1).SplitHorizontaByRow0(Color.Red)[0], mark);

            Waist = new NineContent();

            Waist.FromBitmapCutting(vertPieces[2], mark);

            FootCap = new ABC();
            FootCap.FromBitmapCutting(vertPieces[3].SliceX(2), mark);

            FootStack = new ABC();
            FootStack.FromBitmapCutting(vertPieces[4].SliceX(2), mark);
        }
Beispiel #4
0
        Bitmap AssembleA1A2A3(A1A2A3 a, int height)
        {
            height = Math.Max(a.MinHeight, height);
            Bitmap ret = new Bitmap(a.A1.Width, height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
            using (Graphics g = Graphics.FromImage(ret))
            {
                g.FastSettings();
                g.Clear(Color.Transparent);

                g.DrawImageUnscaled(a.A1, 0, 0);
                g.DrawImage(a.A2, new Rectangle(0, a.A1.Height, a.A1.Width, height - (a.A1.Height+a.A3.Height)));
                g.DrawImageUnscaled(a.A3, 0, height - a.A3.Height);
            }
            return ret;
        }