更新记录
1.0.0(2026-04-20)
- 初版:新增
xxq-nine-pngUTS 插件 - Android 支持
.9.png按目标尺寸拉伸并缓存输出可显示 png - 提供
render/clearCacheAPI
平台兼容性
uni-app(5.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | √ | × | 17 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(5.0)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
xxq-nine-png
xxq-nine-png 是一个 Android 专用的 UTS 插件,用于将 .9.png 资源按目标尺寸生成可直接显示的普通 PNG 文件,并返回本地路径给 image 组件使用。
适合欢迎页、弹窗背景、气泡等需要 NinePatch 拉伸效果的场景。
特性
- 支持输入
.9.png源路径与目标宽高(px) - 优先使用 Android
NinePatchDrawable原生拉伸 - 当运行时无法获取
ninePatchChunk时,自动按.9.png黑线规则降级渲染 - 输出文件保存到
/cache/xxq-nine-png - 当前策略为每次调用都生成新文件(不复用旧文件)
- 提供目录清理 API,便于页面跳转后回收临时文件
平台支持
- Android:
√ - iOS / Web / Harmony: 返回
success = false
安装后使用
import { xxqNinePng } from '@/uni_modules/xxq-nine-png'
const result = xxqNinePng.render({
sourcePath: '/static/start/720_1242.9.png',
width: 1080,
height: 1920
})
if (result.success && result.path) {
// 建议补 file:// 前缀后赋给 image
const imagePath = result.path.startsWith('file://') ? result.path : `file://${result.path}`
this.bgImagePath = imagePath
} else {
console.error(result.message)
}
API
xxqNinePng.render(options)
renderNinePng(options)
渲染并输出 PNG 文件。
参数:
sourcePath: string
.9.png路径。支持项目静态路径(如/static/...)或绝对路径。width: number
目标宽度(px)。height: number
目标高度(px)。
返回:
type NinePngRenderResult = {
success: boolean
path?: string
fromCache?: boolean
message?: string
}
当前实现每次生成新文件,
fromCache固定为false。
xxqNinePng.clearCache()
clearNinePngCache()
清理 /cache/xxq-nine-png 下的所有生成图片。
xxqNinePng.clearGeneratedImages()
clearNinePngGeneratedImages()
与 clearCache 等价的语义化方法,建议业务侧优先使用该方法。
常见问题
1) 为什么会走降级渲染?
部分 .9.png 在运行时无法拿到 ninePatchChunk(例如资源未经过 Android aapt 的 NinePatch 编译链路),插件会自动切换到黑线规则降级渲染。
2) 返回路径图片不显示?
有些环境下需要给绝对路径加 file:// 前缀,例如:
/data/user/0/xxx/cache/xxq-nine-png/a.png -> file:///data/user/0/xxx/cache/xxq-nine-png/a.png
3) 目标尺寸用 rpx 还是 px?
插件参数使用 px。如果页面是 rpx 设计稿,请先做换算(通常结合 windowWidth 与 pixelRatio)。
更新说明
- 1.0.0
- 首个版本发布
- 支持 Android
.9.png拉伸输出 - 支持
.9黑线规则降级渲染 - 新增目录清理 API(
clearGeneratedImages)

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 7
赞赏 0
下载 11594318
赞赏 1905
赞赏
京公网安备:11010802035340号