Nine-patch versus Vector graphics
我读过这本书,但还是不明白,
我试图使用九个补丁或向量,因为在我的项目中准备所有位图文件太烦人了。
我知道,当在不同的屏幕分辨率下观看时,两者都被用来显示相同的大小和图像。
但我不知道细节上有什么不同。此外,9个补丁更适合于按钮。
我能把我的Android项目中的所有图像和图标作为向量或九补丁吗?
发布于 2018-08-15 03:29:06
让我给你一个简单的想法。
NinePatchDrawable:
NinePatchDrawable图形是一个可伸缩的位图图像,安卓将自动调整其大小,以适应您将其作为背景放置在其中的视图的内容。NinePatch的一个例子是标准Android按钮所使用的背景-按钮必须伸展以适应不同长度的字符串。NinePatch绘图是一个标准的PNG图像,包括一个额外的1像素宽的边框。它必须与扩展.9.png一起保存,并保存到项目的res/ your /目录中。边框用于定义图像的可拉伸和静态区域。您可以通过在边框的左侧和顶部绘制一条(或多个)1像素宽的黑线(其他边框像素应该完全透明或白色)来表示可伸缩的部分。你可以有任意多个可伸展的部分:它们的相对大小保持不变,所以最大的部分总是最大的。您还可以通过在右边和底线上画一条线来定义图像的可选可绘制部分(实际上是填充线)。如果视图对象将NinePatch设置为其背景,然后指定视图的文本,则它将扩展自身,使所有文本只适合于右边和底线指定的区域(如果包括在内)。如果不包括填充线,Android将使用左行和顶行来定义这个可绘制区域。为了澄清不同线条之间的差异,左行和顶线定义允许复制图像的像素,以扩展图像。底部和右边的行定义了视图内容允许放置的图像中的相对区域。
VectorDrawable:
与位图不同的是,矢量图像不是基于像素模式,而是使用数学公式绘制可以组合起来的线条和曲线,从而从圆形和多边形等几何对象创建图像。矢量图像是通过使用Adobe这样的程序操纵组成图像的线条和曲线来编辑的。
与位图图像相比,矢量图像具有一些重要的优点。矢量图像往往比位图图像小。这是因为位图图像必须存储形成图像的每个像素的颜色信息。矢量图像只需存储构成图像的数学公式,占用的空间就更少了。
矢量图像也比位图图像具有更高的可伸缩性。当缩放位图图像时,您将开始看到构成该图像的单个像素。这在图像的边缘是最明显的。有一些方法可以使这些锯齿状的边缘不那么引人注目,但这往往导致图像模糊以及。当矢量图像被缩放时,用数学公式重新绘制图像,因此得到的图像与原始图像一样光滑。
Web上使用的三种最流行的图像格式(PNG、JPEG和GIF)是位图格式。可伸缩矢量图形(,SVG)格式在早期浏览器中对矢量图形的支持很差,因此排在第四位。然而,今天,所有主流浏览器都支持SVG ()格式。
位图格式是最好的图像,需要有广泛的颜色分级,如大多数照片。另一方面,矢量格式更适合于由几个实色区域组成的图像。非常适合矢量格式的图像示例包括徽标和类型。
您还可以参考以下链接: http://www.gkmit.co/articles/vector-drawable
希望这能帮到你。如果你还有其他疑问,请告诉我。
发布于 2018-08-15 02:53:14
九片:九块是你用额外一个像素来扩展你定义的区域的方法,这样它就可以适应所有的分辨率。
向量:矢量是如何绘制特定宽度和高度的图像的方法。
https://stackoverflow.com/questions/51852281
复制相似问题