Имам тази функция, която преобразува изображение в байтов масив.
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.MemoryBmp);
return ms.ToArray();
}
Това е моят код за извикване на функцията.
private void btn_Click(object sender, EventArgs e)
{
inputPath=textbox1.text;
try
{
System.Drawing.Image img = Image.FromFile(inputPath);
byte[] str= imageToByteArray(img);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Когато стартирам програмата или когато събитието се задейства, тя хвърля изключение, което казва „Няма памет“ - Защо се случва това?
Използвам тази функция за декодиране на .jls изображения (изображения, компресирани с помощта на алгоритъма JPEG-LS). Така че това ясно означава, че файлът не се поддържа, нали? Знаете ли други алтернативи?