当我使用bitmap.save保存jpg文件时,当我指定编码器和质量时,它会保存为jpeg 4-1-1,但当我不指定编码器和质量时,它会保存为4-2-2。我想以比默认质量更高的质量保存它。使用bitmap.save可以吗?用4-1-1存钱会有什么损失吗?
Dim bmp As Bitmap
Dim ep As New EncoderParameters(1)
Dim sysCodecs() As ImageCodecInfo
Dim jpgCodec, cdc As ImageCodecInfo
sysCodecs = ImageCodecInfo.GetImageEncoders()
' get jpg codec
jpgCodec = Nothing
For Each cdc In sysCodecs
If String.Compare(cdc.MimeType, "image/jpeg", True) = 0 Then
jpgCodec = cdc
Exit For
End If
Next cdc
If jpgCodec IsNot Nothing Then
ep.Param(0) = New EncoderParameter(Encoder.Quality, 97)
bmp = Bitmap.FromFile(filename)
bmp.Save(outname, jpgCodec, ep) ' saves 4-1-1
bmp.Save(outname) ' saves 4-2-2
end if发布于 2010-10-18 09:33:26
不能在GDI+中更改色度子采样:
我不得不使用第三方工具(Leadtools RasterImage库)来完成这项工作。
https://stackoverflow.com/questions/3954863
复制相似问题