Я хочу закодировать растровое изображение в формате PNG, а затем сохранить его в файл.Но мой heatmap_PictureBox_Bitmap.Save( filepathname )
.. вызывает ошибку:
В GDI + произошла общая ошибка.
heatmap_PictureBox_Bitmap
содержит цветное изображение.
В моем приложении .NET для Windows 10 эта картинка отображается очень хорошо:
public const MOBILE_UPLOADER_PATH = "C:\demo\DEMO4\MOBILE UPLOADER\"
public const XY_HEATMAP_PNG_FILENAME = "XY_HEATMAP.PNG"
public const XY_HEATMAP_PNG_PATHNAME = MOBILE_UPLOADER_PATH & XY_HEATMAP_PNG_FILENAME
dim heatmap_PictureBox_Bitmap as Bitmap
. . .
' Build the image bitmap:
for x = 0 to x_range
for y = 0 to y_range
' red, green, blue are integers 0 to 255
pixel_color = Color.FromArgb( red, green, blue )
heatmap_PictureBox_Bitmap.SetPixel( x, y, pixel_color )
next
next
. . .
PictureBox_heat_map.Image = heatmap_PictureBox_Bitmap ' displays ok
Но добавление этой строки (ниже) приводит к ошибке «В GDI + произошла общая ошибка».
. . .
heatmap_PictureBox_Bitmap.Save( XY_HEATMAP_PNG_PATHNAME ) <<<< CAUSES THE ERROR
PictureBox_heat_map.Image = heatmap_PictureBox_Bitmap
Мои предположения:
1. heatmap_PictureBox_Bitmap
- это некодированные / сжатые данные изображения
2. bitmap.save( pathname )
кодируется как .PNG
Я также пытался
heatmap_PictureBox_Bitmap.Save(XY_HEATMAP_PNG_PATHNAME, System.Drawing.Imaging.ImageFormat.Png)
.. та же проблема.
Каталог в XY_HEATMAP_PNG_PATHNAME существует.