android - 安卓九补丁的实用性

标签 android image resize nine-patch

我想知道为什么我们使用九补丁?我知道是缩小或拉伸(stretch)图像,但如果我想调整图像大小,我们不能只在像 gimp 这样的专用图像编辑器上做吗?

最佳答案

什么是 9-Patch?

9-Patch 图像是缩小到最小尺寸的可拉伸(stretch)、可重复图像;用户在右侧和底部绘制一个 1 像素的纯黑色边框,告诉系统如何在图像中放置内容。

9-Patch 是一个 PNG 图像,其文件名 (filename.9.png) 添加了扩展名,它允许 Android 系统确定如何拉伸(stretch)和扭曲图像以满足特定的布局约束。

Android 操作系统读取这些图像的边界,以了解如何正确拉伸(stretch)图像本身以及图像中的内容,例如文本和效果。

9-补丁理论 9 Patch image concept

9-Patch 之所以得名,是因为创建的叠加层将图像分成九个定义的区域。每个区域都有特定的拉伸(stretch)属性:

角落区域(1、3、7、9) 这些区域是固定的,它们里面的任何东西都不会拉伸(stretch)。

水平边 (4, 6) 这些区域中的像素会在必要时垂直拉伸(stretch)。

垂直边 (2, 8) 这些区域中的像素将在必要时水平拉伸(stretch)。

居中 (5) 该区域中的像素将在水平和垂直方向上均等地拉伸(stretch)。

here is Google docs

关于android - 安卓九补丁的实用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22684960/

相关文章:

wordpress - WordPress 在哪里存储图像元数据?

android - 无法将 drawable 传递给 android.R.drawable

android - 使用 MvvmCross 将 byte[] 绑定(bind)到 Android 上的 ImageView

android - Google 文档 PDF 查看器

html - 允许图像缩小,但不能拉伸(stretch)

c# - FlowLayoutPanel 显示水平滚动条,内部​​面板的宽度与客户端尺寸宽度相同

android - 如何在 Flutter 的 TextFormField 中添加提示?

html - 图像比例调整大小

javascript - 如何使用任何方法根据屏幕宽度调整 div 的大小

jquery - 使用 jQuery 调整父元素的高度以匹配其可见子元素的高度