PDA

View Full Version : خطای Parameter is not valid هنگام ساخت عکس



milad.bm
سه شنبه 05 خرداد 1394, 11:59 صبح
سلام
میخوام یه آرایه باینری رو تبدیل به عکس بکنم ولی متاسفانه اررور {"Parameter is not valid."} رو میده.
دلیلیش چی میتونه باشه؟ درضمن همون آرایه باینری رو تو فوتوشاپ میتونم باز و ذخیره بکنم.

god of war
سه شنبه 05 خرداد 1394, 12:29 عصر
سلام دوست عزیز
اگه کدتو باری فکر کنم راحت تر بشه کمکت کرد

milad.bm
سه شنبه 05 خرداد 1394, 16:09 عصر
سلام دوست عزیز
اگه کدتو باری فکر کنم راحت تر بشه کمکت کرد

public void SaveAsBitmap(string fileType, int width, int height, byte[] imageData)
{
var data = new byte[width * height * 1];
int o = 0;
for (var i = 0; i < width * height; i++)
{
var entry = imageData[i];
data[o++] = entry; // Convert.ToByte(value);
}


unsafe
{
fixed (byte* ptr = data)
{
// Craete a bitmap wit a raw pointer to the data
using (Bitmap image = new Bitmap(width, height, width * 1,
PixelFormat.Format8bppIndexed, new IntPtr(ptr)))
{
ColorPalette _palette = image.Palette;
Color[] _entries = _palette.Entries;
for (int i = 0; i < 256; i++)
{
Color b = new Color();
b = Color.FromArgb((byte)i, (byte)i, (byte)i);
_entries[i] = b;
}
image.Palette = _palette;


image.Save(@"C:\Users\Tiny8.1\Desktop\1.bmp", System.Drawing.Imaging.ImageFormat.Bmp);


}
}
}
}

milad.bm
سه شنبه 05 خرداد 1394, 16:14 عصر
یه آرایه باینری هست که میخوام اطلاعاتش رو به یه عکس هشت بیتی گری اسکیل ذخیره کنم.

using (Bitmap image = new Bitmap(width, height, width * 1,
PixelFormat.Format8bppIndexed, new IntPtr(ptr)))

تو این کد خطا میده

god of war
سه شنبه 05 خرداد 1394, 16:57 عصر
من دیشب خودم یه مشکل با همین ارور داشتم
یک شی از کلاس Image ساخته بودم تو یک تابع
اما وقتی شی رو به صورت global یعنی خارج از تابع تعریف کردم مشکل حل
دلیلشو متوجه نشدم خودم ...