Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 NinePatch.png文件格式?_Android_File Format_Nine Patch - Fatal编程技术网

Android NinePatch.png文件格式?

Android NinePatch.png文件格式?,android,file-format,nine-patch,Android,File Format,Nine Patch,图像似乎是带有额外信息的标准.png文件。我希望能够在其他平台上实现这一点,因此,在任何地方都有该格式的规范吗?只需在图像查看器中查看图像即可。它只是一个1px的边框,黑色像素位于可拉伸区域的两侧,透明地标记静态部分 如果放大此图像,可以看到标记可拉伸区域的黑色边框: 此链接对于android中的九个补丁映像非常有用 这是android中非常有用的例子。仅使用.9补丁PNG文件 是我在这个主题上找到的最直接的链接。出于几个原因,我强烈建议您不要在其他平台上实施9patch系统 我已经使用Andr

图像似乎是带有额外信息的标准.png文件。我希望能够在其他平台上实现这一点,因此,在任何地方都有该格式的规范吗?

只需在图像查看器中查看图像即可。它只是一个1px的边框,黑色像素位于可拉伸区域的两侧,透明地标记静态部分

如果放大此图像,可以看到标记可拉伸区域的黑色边框:


此链接对于android中的九个补丁映像非常有用

这是android中非常有用的例子。仅使用.9补丁PNG文件


是我在这个主题上找到的最直接的链接。

出于几个原因,我强烈建议您不要在其他平台上实施9patch系统

我已经使用Android的开发者工具一年了,并且广泛使用了9patch文件

他们是一场噩梦。PNG不是一种数据格式,它是一种图像格式。在.9.png文件中混合使用这两种格式会带来麻烦

9补丁文件是一个糟糕的主意,因为它们将图像和数据格式合并到一个文件中,而这个文件既不能完全由设计师管理,也不能由开发人员管理

九个补丁文件:在维护、支持和更新阶段的某个时候,您会后悔自己的参与

也许在将来某个时候,对9patch文件的支持被添加到许多高质量的工具中(例如,PS CS4不将9patch文件理解为一种特定的格式,也不遵守有效的九种补丁格式的规则。)


九个补丁文件的现有工具非常糟糕——在我雇佣的大多数设计师看来,基本上无法使用。

现代浏览器支持基于CSS 9路径的背景:

我花了一段时间才明白9修补程序文件的扩展名应该是xxxx.9
而不是xxx.9.png

我发现这个链接非常有用:。它为创建9面片时定义的不同边界使用了一些示例。它显示了如何在缩放图像的尺寸(x,y)时使用额外的信息


最后,Richard L.甚至发表了一篇很好的评论,说你可以通过在边框中加入打断来添加区域,以防止图像缩放;不缩放图像中的部分

我希望有一个文件化的规范,但我想这已经足够好了!我认为不需要更多的文档,因为它只是一个带有1像素边框的普通png。我不完全清楚1像素边框是如何解释的,特别是在非连续像素选择的情况下,以及上下边距之间的差异。根据我的经验,每个边距对(上/下和左/右)必须相同,否则将阻止应用程序编译。即,选择必须是连续的。这只是将图像分割成四个静态角,剩余的黑色像素区域是可拉伸的。stealthcopter你错了。各方都是独立的。每侧最多可以有5个截面例如,将是有效的顶部缩放。更改为可接受的答案,因为此链接提供了有关可拉伸边框与填充边框功能的更好信息。+1用于强保持视图-我同意工具不是很好。然而,鉴于我需要“可扩展”图像的9补丁功能,我还有什么选择?重新发明轮子可能会更加愚蠢。我认为9面片概念是一个以最糟糕的方式实现的非常好的想法的例子。另一种方法是使用PNG文件(行业标准)和包含4维的XML格式。拉伸X、拉伸Y、填充X和填充Y。然后,使用自定义解析器(XML而不是PNG),然后操纵PNG来拉伸它。这样,你的PNG仍然可以用于其他用途(并且可以在photoshop中使用),你的布局市场是XML,程序员可以很容易地使用它。我已经在photoshop中使用了10个月的9-patch PNG,它们的工作非常出色。事实上,使用这种技术,我的UI看起来很清晰,非常棒!我认为人们不理解它们。我发现支持所有数据的类九个补丁远远优于Android使用的“PNG”格式。我已经在Java中实现了这一点,现在这两个方面都是最好的。清晰的用户界面没有任何PNG或9patch格式的开销。漂亮的链接,介绍文本激发了9个参数;因此,9面片是将位图放置到画布坐标中的9个感兴趣区域的显式定义?在这种情况下,它只会完全忽略9面片数据