我想将位图编码为PNG,然后将其保存到文件中。
但是我的heatmap_PictureBox_Bitmap.Save( filepathname )
..导致错误:
GDI +中发生一般错误。
heatmap_PictureBox_Bitmap
包含彩色图像。
这可以在Windows 10上的.NET应用程序上很好地显示图片:
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中的目录。
答案 0 :(得分:0)
问题在于目标文件夹 公共常量MOBILE_UPLOADER_PATH =“ C:\ demo \ DEMO4 \ MOBILE UPLOADER \” ..不存在。
我以为它存在。
我修改了代码以创建不存在的文件夹。