ImageToByte函数为多页tiff的每个页面获取一个字节数组。 这样做的目的是创建一个包含原始tiff的所有页面的单页tiff。
我的代码完美无缺,除了tiffs压缩ccitt t.6。当我将此多页tiff的每一页传递给ImageToByte函数时,它返回一个对应于完全黑色图像的字节数组。
Private Function ImageToByte(bImagen As System.Drawing.Image) As Byte()
Dim codec As ImageCodecInfo = GetEncoderInfo("image/tiff")
Dim enc As Encoder = System.Drawing.Imaging.Encoder.SaveFlag
Dim ep As New EncoderParameters(2)
ep.Param(0) = New EncoderParameter(enc, EncoderValue.FrameDimensionPage)
ep.Param(1) = New EncoderParameter(Encoder.Compression, EncoderValue.CompressionNone)
Using ms As New MemoryStream
bImagen.Save(ms, codec, ep)
ImageToByte = ms.ToArray
End Using
End Function
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
有人可以告诉我如何解决这个问题吗?
答案 0 :(得分:0)
根据您发布的代码,您没有从ImageToByte
功能传回任何内容。
除非你输入错误,ByteToImage
应该是ImageToByte
。
Using ms As New MemoryStream
bImagen.Save(ms, codec, ep)
ByteToImage = ms.ToArray
End Using