在尺寸大于2048像素的壁画automatically applies a resizing的图像上:
Android不能在任何一个维度上显示超过2048个像素的图像。这超出了OpenGL渲染系统的能力。如果超出此限制,壁画将调整图像大小。
我知道这是对OpenGL Android limit的一种解决方法,但是有什么方法可以控制它吗?
以下是Fresco如何使用默认设置渲染750x2440图像的示例:
我已经尝试过使用Fresco的大小调整/下采样操作,但没有成功。
答案 0 :(得分:1)
我只能使用isResizeAndRotateEnabledForNetwork()类中的ImagePipelineConfig来实现此目的,而无需调整下采样。</ p>
初始化Fresco时需要添加一个附加步骤(在Application类中);通过configuring的图像管道。
这是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.initialize(this)
初始化Fresco,而是添加ImagePipeline类,将其配置为使用.setResizeAndRotateEnabledForNetwork(false)
禁用来自网络的图像大小调整,然后将配置的管道类传递给Fresco。
设置为false时:
然后将其设置为true(很可能是默认值):