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); }
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); }
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)); }