1 回答

TA貢獻1839條經驗 獲得超15個贊
您可以使用舊的 System.Drawing 方式而不是 System.Windows.Media 方式。
僅從Encoder.Compression Field的文檔中略微改編:
Imports System.Drawing.Imaging
'' .....
Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
Dim j As Integer
Dim encoders() As ImageCodecInfo
encoders = ImageCodecInfo.GetImageEncoders()
j = 0
While j < encoders.Length
If encoders(j).MimeType = mimeType Then
Return encoders(j)
End If
j += 1
End While
Return Nothing
End Function
Sub SaveAsTiff()
Dim sampleFile = "C:\temp\ToTiff.png"
Using bmp = Image.FromFile(sampleFile)
Dim myImageCodecInfo = GetEncoderInfo("image/tiff")
Dim myEncoder As Imaging.Encoder = Imaging.Encoder.Compression
Dim myEncoderParameters = New EncoderParameters(1)
Dim myEncoderParameter = New EncoderParameter(myEncoder, EncoderValue.CompressionNone)
myEncoderParameters.Param(0) = myEncoderParameter
bmp.Save("C:\temp\ToTiff.tif", myImageCodecInfo, myEncoderParameters)
End Using
End Sub
但是,它不允許 ZIP 壓縮。但這對您來說可能無關緊要:哪種 TIFF 圖像壓縮更好,LZW 還是 ZIP?
此外,對于屏幕截圖,您可能需要考慮使用 PNG 格式,尤其是當圖像將在網絡上使用時。
- 1 回答
- 0 關注
- 269 瀏覽
添加回答
舉報