[英]c# When does System.Drawing.Bitmap decompress the image stream?
现在,我正在使用System.Drawing.Bitmap拍摄图像并将其划分为多个区域。 我假设位图必须解压缩图像才能对其执行操作。
但是,Bitmap类接受以下格式:BMP,GIF,EXIF,JPG,PNG和TIFF
其中一些格式是压缩的,因此,如果流中的数据被压缩,是否必须将其解压缩才能执行操作? 如果是这样,是否意味着Bitmap类为流的解压缩版本分配了更多的内存?
我觉得如果bitmap类对流进行数据修改,那么它将不得不解压缩流,这应该使bitmap类使用BMP流时与使用PNG流时占用相同数量的内存。 PNG流较小。
实际上,GDI确实需要原始像素数据以将其馈送到图形卡和/或表示它,因此,是的,它正在被解压缩,但是可能您看不到内存增加,因为它已经处理到系统/图形卡中了。 。
一些特殊情况是DXT纹理和一些其他特殊类型,硬件可以理解这些特殊类型,无需解压缩即可使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.