我有一段创建热图的代码,所有内容都保存到位图图像中。我的主要方法如下。
HeatMap map = new HeatMap(colors, width, height, file, U, V);
_maps.Clear();
_maps.Add(map);
Bitmap newBMP = overlayBitmap(map.Image, width * 3, height * 3, times, dates, colors); // resizes the bmp without blending colors
if (save) {
newBMP.Save(file, ImageFormat.Png);
}
HeatMap()
是一种接收这些参数、创建bitmap
并将其存储到实例中的方法。
overlayBitmap()
是一种方法,它采用我之前制作的地图,通过一些InterpolationMode.NearestNeighbor
放大图像,并将文本放到这个热图图上,如 x/y 轴标签和标题。
然后我使用一个简单的save
方法。
我的问题是 - 将bmp
保存为尽可能高质量的最佳方法是什么?我选择了.png
而不是.jpeg
,但是我还可以做其他事情吗?
.png是在不损失质量的情况下存储 BMP 的最佳方法,它比压缩 BMP 更有效。并且没有一个像素丢失。