android - 可以禁用/调整 Fresco 对大图像 (>2048px) 的自动调整大小吗?
问题描述
在具有 >2048px 长尺寸的图像上,Fresco自动应用调整大小:
Android 无法在任一维度上显示长度超过 2048 像素的图像。这超出了 OpenGL 渲染系统的能力。如果超过此限制,Fresco 将调整您的图像大小。
我知道这是作为OpenGL Android 限制的一种解决方法,但是有什么方法可以控制它吗?
以下是 Fresco 如何使用默认设置渲染 750x2440 图像的示例:
我已经尝试过使用 Fresco 的调整大小/下采样但没有成功。
解决方案
我只能使用ImagePipelineConfig类中的isResizeAndRotateEnabledForNetwork()来实现这一点,我不需要调整下采样。
初始化 Fresco(在应用程序类中)时需要添加一个额外的步骤;通过配置图像管道。
这是 MyApplication 类的样子:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ImagePipelineConfig pipelineConfig = ImagePipelineConfig.newBuilder(this)
.setResizeAndRotateEnabledForNetwork(false)
.build();
Fresco.initialize(this, pipelineConfig);
}
}
因此,不要使用 初始化 Fresco,而是Fresco.initialize(this)
添加一个 ImagePipeline 类,使用 将其配置为禁用来自网络的图像的大小调整.setResizeAndRotateEnabledForNetwork(false)
,然后将配置的管道类传递给 Fresco。
当它设置为 false 时:
然后当它设置为 true (很可能是默认值)时:
推荐阅读
- python - 如何获取本周的所有日期?
- java - IntelliJ IDEA 中 Java 记录字段的 Javadoc
- python - 从 0 到 N 的 Fibonacci Memoization 返回列表
- git - 当我打开一个新的 VSCode 窗口时,阻止 Git 跟踪我的所有包/库/模块
- html - html5 邮件验证失败
- reactjs - 使用 RNPickerSelect onvaluechange 上的状态值调用 React 本机 fetch api
- python - 通过在 python 数据框中计算未来几个月的估计数据来插入行
- regex - 需要在 Google Sheet 中使用 REGEXEXTRACT() 提取字符串之间的字符串
- java - AEM 创作自动化 - 无法定位元素
- r - 使用给定两个向量的条件在 R 图上绘制曲线