应用导入图片后提示图片文件过大
===============

#### 问题现象

使用应用的导入图片功能后提示图片文件过大，建议选小些的图片。

#### 背景知识

图片导入通常依赖[Image](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/image-overview?ha_source=sousuo&ha_sourceId=89000251)组件和[图片处理](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-image)API。像素画类应用通常会将导入的图片转为像素网格或参考图层，因此对图片的加载路径、格式兼容性和内存占用有较高要求。

#### 问题定位

图片导入失败的情况有很多，常见的有：

*   图片格式不支持，ArkTS支持PNG、JPEG、WebP等格式，若导入HEIC、BMP等不支持格式会导致失败。
*   图片路径无效，图片路径中带有无法识别的字符。
*   图片未正确解析。
*   Image组件未设置width/height，导致图片不显示。

经测试发现，可以导入256x256像素的图片，说明导入能力可能存在尺寸阈值、内存处理瓶颈或者Image组件未设置width/height。小尺寸图片不代表低像素，如果像素密度高（DPI）或像素总数大，仍然会超出系统的处理能力或触发图像解码失败。

#### 分析结论

因为256x256像素的图片可以导入，说明导入逻辑和格式兼容性是正常的。

而512x512像素却导入失败，触发了PixelMap创建失败（内存不足或超出限制），图片未正确解码，Image组件未设置width/height导致渲染失败。

#### 修改建议

在应用里面声明像素大小限制：

*   使用[sourceSize](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-image#sourcesize)限制解码尺寸。
*   在图片导入的时候将图片压缩到支持的像素大小：[图片压缩](https://developer.huawei.com/consumer/cn/doc/architecture-guides/compress_images-0000002322173825)。