1

画像内のすべてのピクセルを取得してテキスト ドキュメントに出力するプログラムがあります。問題は、それらを数字としてそこに投げ込むだけで、見た目がかなり醜いことです。ei " 37 37 37 36" GetPixel 関数と同じように表示したいと思います。ei [A=255、R=4、G=255、B=131]。私の現在のコードは...

Bitmap bmp = new Bitmap("Space big.jpg");

Rectangle bmpRec = new Rectangle(0, 0, bmp.Width, bmp.Height); //Creates Rectangle for holding picture

BitmapData bmpData = bmp.LockBits(bmpRec, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); //Gets the Bitmap data

IntPtr Pointer = bmpData.Scan0; //Sets pointer

int DataBytes = Math.Abs(bmpData.Stride) * bmp.Height; //Gets array size

byte[] rgbValues = new byte[DataBytes]; //Creates array

Marshal.Copy(Pointer, rgbValues, 0, DataBytes); //Copies of out memory

bmp.UnlockBits(bmpData);

StringBuilder Pix = new StringBuilder(" ");

Stopwatch Timer = new Stopwatch();

pictureBox1.Image = bmp;

        StringBuilder EachPixel = new StringBuilder("");

        Timer.Start();
        for (int i = 0; i < bmpData.Width; i++)
        {
            for (int j = 0; j < bmpData.Height; j++)
            {
                // compute the proper offset into the array for these co-ords
                var pixel = rgbValues[i + j * Math.Abs(bmpData.Stride)];
                Pix.Append(" ");
                Pix.Append(pixel);
            }
        }
4

0 に答える 0