将.TIFF映像转换为.png/.jpg flutter
我有一个.TIFF格式图像,我想将其转换为.jpg或.png格式。
我使用
我已经尝试了以下代码,但会出现错误。
var dat = file.readAsBytesSync();
imgLib.Image image = imgLib.decodeTiff(dat)!;
print(image.data);
E/flutter ( 7774): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Invalid uncompressed block header
E/flutter ( 7774): #0 Inflate._parseUncompressedBlock
package:archive/…/zlib/inflate.dart:198
E/flutter ( 7774): #1 Inflate._parseBlock
package:archive/…/zlib/inflate.dart:116
E/flutter ( 7774): #2 Inflate._inflate
package:archive/…/zlib/inflate.dart:92
E/flutter ( 7774): #3 new Inflate
package:archive/…/zlib/inflate.dart:16
E/flutter ( 7774): #4 TiffImage._decodeTile
package:image/…/tiff/tiff_image.dart:314
E/flutter ( 7774): #5 TiffImage.decode
package:image/…/tiff/tiff_image.dart:232
E/flutter ( 7774): #6 TiffDecoder.decodeImage
package:image/…/formats/tiff_decoder.dart:63
E/flutter ( 7774): #7 decodeTiff
package:image/…/formats/formats.dart:290
E/flutter ( 7774): #8 PDFTools.pdfToImages.<anonymous closure>
package:pdf_manager/Controller/Tools.dart:153
E/flutter ( 7774): <asynchronous suspension>
I have a .tiff format image and i want to convert it into .jpg or .png format.
I extract images from pdf using https://www.convertapi.com/ and i am getting some .tiff images that i want to convert to .png or .jpg because my device doesn’t open .tiff file.
I have tried the below code but it gives error.
var dat = file.readAsBytesSync();
imgLib.Image image = imgLib.decodeTiff(dat)!;
print(image.data);
E/flutter ( 7774): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Invalid uncompressed block header
E/flutter ( 7774): #0 Inflate._parseUncompressedBlock
package:archive/…/zlib/inflate.dart:198
E/flutter ( 7774): #1 Inflate._parseBlock
package:archive/…/zlib/inflate.dart:116
E/flutter ( 7774): #2 Inflate._inflate
package:archive/…/zlib/inflate.dart:92
E/flutter ( 7774): #3 new Inflate
package:archive/…/zlib/inflate.dart:16
E/flutter ( 7774): #4 TiffImage._decodeTile
package:image/…/tiff/tiff_image.dart:314
E/flutter ( 7774): #5 TiffImage.decode
package:image/…/tiff/tiff_image.dart:232
E/flutter ( 7774): #6 TiffDecoder.decodeImage
package:image/…/formats/tiff_decoder.dart:63
E/flutter ( 7774): #7 decodeTiff
package:image/…/formats/formats.dart:290
E/flutter ( 7774): #8 PDFTools.pdfToImages.<anonymous closure>
package:pdf_manager/Controller/Tools.dart:153
E/flutter ( 7774): <asynchronous suspension>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如这个问题的回答所述(如何在Android设备上的flutter应用中显示TIFF图像?)
,我认为您正在提供的TIFF文件未压缩,因此您的代码会引发异常。
as said in this question's answer (How to display a TIFF image in a Flutter app on an Android device?)
and i think the tiff file you are providing is uncompressed so your code is throwing exception.