将.TIFF映像转换为.png/.jpg flutter

发布于 2025-01-28 18:00:05 字数 1248 浏览 2 评论 0原文

我有一个.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月打碎记忆 2025-02-04 18:00:05

正如这个问题的回答所述(如何在Android设备上的flutter应用中显示TIFF图像?

 /// This only accepts compressed image formats (e.g. PNG). Uncompressed
  /// formats like rawRgba (the default format of [dart:ui.Image.toByteData])
  /// will lead to exceptions.

,我认为您正在提供的TIFF文件未压缩,因此您的代码会引发异常。

as said in this question's answer (How to display a TIFF image in a Flutter app on an Android device?)

 /// This only accepts compressed image formats (e.g. PNG). Uncompressed
  /// formats like rawRgba (the default format of [dart:ui.Image.toByteData])
  /// will lead to exceptions.

and i think the tiff file you are providing is uncompressed so your code is throwing exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文