2
バイト配列をイメージに変換する方法は分かっています。ここに私のコードはあります:BGRバイト配列をイメージに変換する方法
//Here create the Bitmap to the know height, width and format
Bitmap bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
//Bitmap bmp = new Bitmap(width, height);
//Create a BitmapData and Lock all pixels to be written
System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(
new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.WriteOnly, bmp.PixelFormat);
//Copy the data from the byte array into BitmapData.Scan0
Marshal.Copy(imgDataArray, 0, bmpData.Scan0, imgDataArray.Length);
//Unlock the pixels
bmp.UnlockBits(bmpData);
bmp.Save("output1.png", System.Drawing.Imaging.ImageFormat.Png);
しかし、バイト配列がBGR形式の場合、画像の色は間違っています(赤は青、青は赤です)。誰でも私がそれを理解するのを助けることができますか?ありがとう。
はい、動作します。しかし、処理には時間がかかります。 –
まあ、速度要件は不明です。このような変換を非常に迅速に行うことが可能でなければなりません。独自の最適化された画像変換関数を作成するか、サードパーティの画像処理ライブラリを評価して、必要に応じてすばやく動作するライブラリを見つける必要があります。ソースデータを別の形式で取得することもできます。 – djdanlib