Skip to content

[Bug]: 阅读器中的漫画图片质量低于原图 #800

@YiyangNa

Description

@YiyangNa

Bug type

Reader

Description

漫画阅读时,图片的画质非常重要,希望开发者能够重视,非常感谢。

问题描述

  • 在阅读器中浏览时,JPG 图片出现可见模糊/伪影,质量低于原图。
  • 已确认漫画源配置未使用 modifyImage 或 onResponse,数据层为原始字节,问题出现在渲染层。
  • 设置中开启"自定义图片处理"开关也无效,JPG 图片仍然比原图模糊。

复现步骤

  1. 下载附件第二张图片。
  2. 将图片导入到阅读器中。
  3. 用本地工具打开图片,与用阅读器打开图片,进行质量对比。

我曾怀疑是本地工具打开图片时,会自动对图片进行抗锯齿优化处理。但我尝试了多种方式打开本地图片,发现的确会出现阅读器中的图片比原图更加模糊的情况

原因猜测

  • 阅读器的画廊模式与连续模式均硬编码使用 FilterQuality.medium (lib/pages/reader/images.dart),Flutter 对 JPG(有损格式)进行中等质量采样,导致视觉质量下降 。(仅个人猜测)
  • 应用中强制开启了图片下采样缩放(Resize)功能 bool get enableResize => true; (lib\foundation\image_provider\reader_image.dart),这个开关开启后,底层的BaseImageProvider会自动对图片进行缩小尺寸、降低分辨率的处理(下采样),不是保持原图加载。

建议方案

  • 在 lib\foundation\image_provider\reader_image.dart 文件中将 enableResize 设置为flase。
  • 在阅读设置中增加“图片渲染质量”选项,允许用户选择 FilterQuality.high / medium / low。或默认将渲染质量改为 FilterQuality.high,以兼顾有损格式(JPG)的观感。
Image

Image

Version

1.6.2

Operating system

Android

logs

No response

Screenshot or video

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug🐞Something isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions