![]() |
1
6
JPEG中没有保存“压缩”值。当你调整大小并保存它们时,它们会被压缩为你告诉保存函数使用的任何值。由于您没有传递值,它将只使用库的默认值。 |
![]() |
2
4
调整图像大小会影响压缩,如果“压缩”是指可以在多少像素中嵌入多少细节。 JPEG压缩算法倾向于模糊或均匀的图像,具有渐变和平坦的颜色块。因此,图像尺寸和结果文件大小之间没有直接相关性。最重要的是图像中的细节量(所有图像都保存为JPEG格式,损失率为80%):
请注意,模糊图像(2)虽然是缩小图像(3)的4倍大,但文件大小比(1)和(2)都小。模糊添加了很好的渐变,使JPEG压缩更愉快。 小图像(3)虽然只有原始图像(1)的1/4像素,但并不是文件大小的1/4。这是因为缩小图像会产生更精细的细节,而JPEG压缩不喜欢这样。 |
![]() |
3
3
当你调用“bmpOut.Save”时,你必须传递一些编码器参数来告诉方法你想用什么质量级别来保存它。 http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoderparameters(VS.80).aspx |
![]() |
4
1
不要将存储格式(JPEG)与您使用
这个
由于JPEG压缩不是无损的,每次执行此过程时,图像质量都会降低: 解压、变异、再压缩 . 如果我误解了你的问题:你在代码中没有设置用于保存图像的压缩因子,所以它将处于某个默认值。如果你想通过使用较小的压缩因子来减少质量损失,你需要明确地设置它。 |
![]() |
5
0
在你的代码中”
|
![]() |
6
0
|
![]() |
7
0
与您已经找到的相同,但这是来自的VB.NET版本 Circumventing GDI+ default image compression . 我个人建议JPEG质量设置为90L。 |