Problem z zapisem obrazka - generic error occurred in GDI+

0

Witam, więc godzinę siedzę nad rzeczą, która miała mi zająć 10 minut. A wszystko przez to, że nie mogę zapisać obrazka na dysk!

 
using(Bitmap bmp = new Bitmap(Functions.byteArrayToImage((byte[])ds.Tables[0].Rows[i]["dane"])))
{
  bmp.Save(folder_name + Convert.ToInt32(ds.Tables[0].Rows[i]["id"]).ToString() + "\\" + pic_index.ToString() + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}

ds.Tables[0].Rows[i]["dane"] - tu jest zdjęcie w odpowiednim formacie(ds to oczywiście DataSet). Funkcja byteArrayToImage daje mi też prawidłowy obraz. Jest on prawidłowo pokazywany w PictureBox. Poza tym wykorzystuję ją w kilku innych miejscach, gdzie też działa ok.

Przy wywołaniu metody Save otrzymuję błąd: "A generic error occurred in GDI+".
Przeleciałem net pod tym kątem. Próbowałem z fileStreamami, próbowałem z dodatkowymi bitmapami(image'ami), próbowałem bmp.RawFormat zamiast System.Drawing.Imaging.ImageFormat.Jpeg, próbowałem też bmp zamiast jpg. Plik, który chcę zapisać nie istnieje. Scieżka istnieje. O co tu chodzi?

0

Z neta nie wiadomo co to jest i dlaczego, ale obejść można tak, że: utworzyć nową bitmapę i w jej konstruktorze podać tą co teraz, i tamtą nową zapisać.

Tu znalazłem artykuł: http://blog.vishalon.net/index.php/bitmapsave-a-generic-error-occurred-in-gdi+

0

Strzelam, że przez nieczytelny kod tworzenia ścieżki zapisu, masz z nią coś nie tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1