Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的九个补丁与向量_Android_Vector Graphics_Nine Patch - Fatal编程技术网

android中的九个补丁与向量

android中的九个补丁与向量,android,vector-graphics,nine-patch,Android,Vector Graphics,Nine Patch,我读过这篇文章,但还是不明白 我正在尝试使用九个补丁或向量,因为在我的项目中按分辨率准备所有位图文件太烦人了 我知道,当以不同的屏幕分辨率观看时,两者都用于显示相同的大小和图像 但我不知道在细节上有什么不同。除此之外,九个补丁更适合按钮 我可以将Android项目中的所有图像和图标制作为矢量或九块补丁吗?九块补丁:九块补丁是一种将您定义的区域拉伸到额外一个像素的方法,因此它可以适应所有分辨率 矢量:矢量是以您设定的特定宽度和高度绘制图像的方式。九块:九块是将您定义的区域拉伸到额外一个像素的方式,

我读过这篇文章,但还是不明白

我正在尝试使用九个补丁或向量,因为在我的项目中按分辨率准备所有位图文件太烦人了

我知道,当以不同的屏幕分辨率观看时,两者都用于显示相同的大小和图像

但我不知道在细节上有什么不同。除此之外,九个补丁更适合按钮


我可以将Android项目中的所有图像和图标制作为矢量或九块补丁吗?

九块补丁:九块补丁是一种将您定义的区域拉伸到额外一个像素的方法,因此它可以适应所有分辨率


矢量:矢量是以您设定的特定宽度和高度绘制图像的方式。

九块:九块是将您定义的区域拉伸到额外一个像素的方式,因此它可以适应所有分辨率


向量:向量是一种按照您设定的特定宽度和高度绘制图像的方法。

让我简单介绍一下

NinePatchDrawable:

NinePatchDrawable图形是一个可拉伸的位图图像,Android将自动调整其大小,以适应作为背景的视图内容。NinePatch的一个例子是标准Android按钮使用的背景-按钮必须拉伸以适应不同长度的字符串。NinePatch drawable是标准PNG图像,包括额外的1像素宽的边框。它必须与扩展名.9.png一起保存,并保存到项目的res/drawable/目录中。边框用于定义图像的可拉伸区域和静态区域。通过在边框的左侧和顶部绘制一条(或多条)1像素宽的黑线(其他边框像素应为完全透明或白色)来指示可拉伸部分。您可以拥有任意多个可拉伸截面:它们的相对大小保持不变,因此最大截面始终保持最大。您还可以通过在右侧和底部线条上绘制线条来定义图像的可选可绘制部分(实际上是填充线)。如果视图对象将NinePatch设置为其背景,然后指定视图的文本,则它将拉伸自身,使所有文本仅位于由右行和底行(如果包括)指定的区域内。如果不包括填充线,Android将使用左行和顶行来定义此可绘制区域。为了澄清不同行之间的差异,左行和顶行定义了允许复制图像的哪些像素以拉伸图像。底部和右侧的线条定义了图像中允许视图内容所在的相对区域

矢量可绘制:

与位图不同的是,矢量图像不基于像素模式,而是使用数学公式绘制线条和曲线,这些线条和曲线可以组合使用几何对象(如圆和多边形)创建图像。矢量图像通过使用Adobe Illustrator等程序操纵组成图像的直线和曲线进行编辑

矢量图像比位图图像有一些重要的优点。矢量图像往往比位图图像小。这是因为位图图像必须存储构成图像的每个像素的颜色信息。矢量图像只需存储构成图像的数学公式,占用的空间更少

矢量图像也比位图图像更具可伸缩性。当位图图像放大时,您开始看到组成图像的各个像素。这在图像的边缘最为明显。有一些方法可以使这些锯齿状边缘不那么明显,但这通常也会导致图像模糊。当矢量图像放大时,使用数学公式重新绘制图像,因此生成的图像与原始图像一样平滑

Web上使用的三种最流行的图像格式(PNG、JPEG和GIF)是位图格式。由于早期浏览器对矢量图形的支持较差,可缩放矢量图形(SVG)格式排在第四位。然而,现在所有主流浏览器都支持SVG(可伸缩矢量图形)格式

位图格式最适用于需要具有广泛颜色梯度的图像,例如大多数照片。另一方面,矢量格式更适合于由几个纯色区域组成的图像。非常适合矢量格式的图像示例包括徽标和类型

您也可以参考此链接:


希望这对你有帮助。如果您有任何其他疑问,请告诉我。

让我简单介绍一下

NinePatchDrawable:

NinePatchDrawable图形是一个可拉伸的位图图像,Android将自动调整其大小,以适应作为背景的视图内容。NinePatch的一个例子是标准Android按钮使用的背景-按钮必须拉伸以适应不同长度的字符串。NinePatch drawable是标准PNG图像,包括额外的1像素宽的边框。它必须与扩展名.9.png一起保存,并保存到项目的res/drawable/目录中。边框用于定义图像的可拉伸区域和静态区域。通过在边框的左侧和顶部绘制一条(或多条)1像素宽的黑线(其他边框像素应为完全透明或白色)来指示可拉伸部分。您可以拥有任意多个可拉伸截面:它们的相对大小保持不变,因此最大截面始终保持最大。您还可以通过在右侧和底部线条上绘制线条来定义图像的可选可绘制部分(实际上是填充线)。如果视图对象将NinePatch设置为其背景,然后指定