public static unsafe IImageByte <RgbImageType> ToMetaqubeImage(this Bitmap @this)
        {
            var answer = new ImageByte <RgbImageType>(@this.Width, @this.Height);

            var step = answer.Step;

            var pixels = new int[@this.ByteCount / sizeof(int)];

            @this.GetPixels(pixels, offset: 0, stride: @this.Width, x: 0, y: 0, width: @this.Width, height: @this.Height);

            using (var pin = answer.Open())
            {
                var ptr = pin.Ptr;

                for (var j = 0; j < @this.Height; j++)
                {
                    var pixelPtr = ptr;

                    for (var i = 0; i < @this.Width; i++)
                    {
                        var argb = pixels[j * @this.Width + i];

                        pixelPtr[0] = (byte)((argb >> 16) & 0xFF);
                        pixelPtr[1] = (byte)((argb >> 8) & 0xFF);
                        pixelPtr[2] = (byte)(argb & 0xFF);

                        pixelPtr += step.X;
                    }

                    ptr += step.Y;
                }
            }

            return(answer);
        }
Beispiel #2
0
        public static unsafe IImageByte <RgbImageType> ToMetaqubeImage(this Bitmap @this)
        {
            var answer = new ImageByte <RgbImageType>(@this.Width, @this.Height);

            var step       = answer.Step;
            var dimensions = answer.Dimensions;

            using (var pin = answer.Open())
            {
                var ptr = pin.Ptr;

                for (var j = 0; j < dimensions.Y; j++)
                {
                    var pixelPtr = ptr;

                    for (var i = 0; i < dimensions.X; i++)
                    {
                        var colour = @this.GetPixel(i, j); // TODO: Implement using Bitmap.LockBits

                        pixelPtr[0] = colour.R;
                        pixelPtr[1] = colour.G;
                        pixelPtr[2] = colour.B;

                        pixelPtr += step.X;
                    }

                    ptr += step.Y;
                }
            }

            return(answer);
        }
Beispiel #3
0
        public void btn_Clicked(object sender, EventArgs e)
        {
            //image to byteArray
            Image img = Image.FromFile("C:\\Users\\loctv.TOSHIBA-TSDV\\documents\\visual studio 2013\\Projects\\Visualize\\MVCASPWeb\\Resource\\custom shape.bmp");

            //byte[] bArr = ImageByte.imageToByteArray(img);
            byte[] bArr = ImageByte.converterDemo(img);
            //byte[] bArr = imgToByteConverter(img);
            //Again convert byteArray to image and displayed in a picturebox
            Image img1 = ImageByte.byteArrayToImage(bArr);

            ConnectDatabase.connectDatabase();



            DrawCommonShape.DrawPoint(this.CreateGraphics(), Color.Blue, 100, 100);
            //this.Paint += new PaintEventHandler(FormWindow_Paint);
            DrawCommonShape.DrawLine(this.CreateGraphics(), new Pen(Color.Black, 5), new Point(100, 100), new Point(500, 200));
        }