panpf / sketch

Sketch is an image loading library designed for Compose Multiplatform and Android View. It is powerful and rich in functions. In addition to basic functions, it also supports GIF, SVG, video thumbnails, Exif Orientation, etc.
Apache License 2.0
2k stars 307 forks source link

在Compose中加载尺寸较小的图片时, 图片非常模糊 #198

Open RavenLiao opened 2 weeks ago

RavenLiao commented 2 weeks ago

Describe the bug 相较于Coil, Sketch加载某些尺寸的图片时, 总会比较模糊一些: 图像链接: https://drop-assets.ea.com/images/6jp8xRcgC9d1x3W9m5x8Nx/28a273037c4b593de110e3895be7509f/9.png 在同一台设备上, 使用Coil加载: image 使用Sketch加载: image

UI像素宽高 :168x108

可以明显看到Sketch的图像糊成一片了, 希望可以尽快排查修复

Versions

panpf commented 2 weeks ago

图片大小相关的问题请查看文档:https://github.com/panpf/sketch/blob/main/docs/wiki/resize_zh.md

RavenLiao commented 2 weeks ago

图片大小相关的问题请查看文档:https://github.com/panpf/sketch/blob/main/docs/wiki/resize_zh.md

我加载时没有用resize参数, 两边都是默认加载的

尝试添加 resizeApplyToDrawable() 和 resizePrecision(FixedPrecisionDecider(Precision.SAME_ASPECT_RATIO)) 都没有改善

RavenLiao commented 2 weeks ago

图片大小相关的问题请查看文档:https://github.com/panpf/sketch/blob/main/docs/wiki/resize_zh.md

可以排查一下这个问题吗? 因为这个影响还挺大的, 尝试了没有作用。 调用没有使用其他参数,只使用url参数进行加载

panpf commented 2 weeks ago

加大 resizeSize

RavenLiao commented 2 weeks ago

加大 resizeSize

确实resizeSize设置成UI尺寸的两倍之后,清晰了很多,但这样有点太麻烦了吧,总不能所有加载的地方都使用这个,很多情况下都是不确定尺寸的。

有更好的解决方案吗? 因为Coil不需要手动设置也可以加载出相对清晰的图片

panpf commented 2 weeks ago

在现有逻辑下只有 resizeSize 特别小的时候可能才会有这种情况,针对这种情况你可以加一个全局的 RequestInterceptor,resizeSize 特别的时候你主动给他加大一些

panpf commented 2 weeks ago

https://github.com/panpf/sketch/blob/main/docs/wiki/request_interceptor.md

RavenLiao commented 2 weeks ago

在现有逻辑下只有 resizeSize 特别小的时候可能才会有这种情况,针对这种情况你可以加一个全局的 RequestInterceptor,resizeSize 特别的时候你主动给他加大一些

尝试了一下, 暂时解决了。 但还是希望可以改善一下逻辑,毕竟这样的策略太治标不治本了。辛苦大佬了