错误,Android中的9补丁图片错误"/>
Android图片粘上后仍错误,Android中的9补丁图片错误
Android中的9补丁图片错误
每当我尝试在项目中的\drawable文件夹中添加9补丁图像时,都会出现相同的错误:
ERROR: 9-patch image C:\...\res\drawable\appwidget.9.png malformed.
Frame pixels must be either solid or transparent (not intermediate alphas).
Found at pixel #3 along top edge. Failure processing PNG image
C:\...\res\drawable\appwidget.9.png
在此示例中,很奇怪的是,我已经从SDK资源中的“ android-g1-icon”图像中获得了该图像,因此应该可以。 到目前为止,我尝试过的任何9补丁图像都发生了同样的情况。 有什么事吗
14个解决方案
32 votes
我在Android Studio上遇到了相同的问题:
AAPT out(943142208) : No Delegate set : lost message:Done
AAPT err(943142208): ERROR: 9-patch image /Users/cartman/Github/UteacherAndroid/RefactorDemo/app/src/main/res/drawable-xxhdpi/nav_shabow.9.png malformed.
AAPT err(943142208): Frame pixels must be either solid or transparent (not intermediate alphas).
AAPT err(943142208): Found at pixel #1 along left edge.
这就是我的解决方法:在Android Sdk目录下打开draw9patch工具
cd /Android/sdk/tools
./draw9patch
打开.9 png并再次保存。 希望能帮助到你。
Jiawei Dai answered 2019-11-09T01:14:19Z
23 votes
这是最新的ADT为20.0.3的问题。 您可以将* .9.png重命名为* .png并开始工作。
我认为这仅是ADT的错误,因为对于18.0.0版本的ADT,它不会提示此类错误,并且可以正常工作。
change_is_necessity answered 2019-11-09T01:14:50Z
11 votes
资源编译器将9像素的1像素边框去除(并且大概将从它们获得的信息以更有效的方式存储在.9.png文件之外)。 如果您将这些.9.png文件从.apk中删除,则需要手动添加边框。
Reuben Scratton answered 2019-11-09T01:15:14Z
8 votes
当我从Eclipse迁移项目到Android Studio时,我遇到了同样的问题。
您需要做的是,从图像文件名中删除.9,然后在draw9patch工具(位于/ sdk / tools目录中)中将其打开,然后单击右上角的Show Bad Patches按钮。
然后,您应该看到标记为红色的不良像素和区域,您需要在那里进行一些工作,直到没有红色不良补丁为止。 对我来说,我只在左中边缘标记了一个像素,在中上边缘标记了一个像素,并标记了几乎所有的右边缘和下边缘。 再次单击按钮,发现您没有不良补丁。
将文件另存为.9.png并将其放回项目的res文件夹中。 然后,Android Studio应该可以毫无问题地构建9个补丁的项目。
Moti Bartov answered 2019-11-09T01:15:59Z
5 votes
就我而言,我错误地将黑色边框扩展到了左上角。 确保角落是透明的。
bradley4 answered 2019-11-09T01:16:23Z
4 votes
现在,Android构建工具中有两个PNG压缩器,AAPT和一个Java压缩器。 两者都检查格式不正确的9个补丁图像。
我已经研究了构建工具的源代码。 没有选项可以禁用9个补丁图像上的压缩或忽略格式错误的图像。 至少没有可供用户使用的选项。
因此,以下是替换AAPT的简单脚本:
[]
当调用压缩9补丁程序映像时,它将仅复制文件,否则,它将使用@ARGV启动真正的AAPT。
ksc91u answered 2019-11-09T01:17:16Z
2 votes
如果使用在线生成器工具制作图像,则必须删除名称中的所有特殊字符才能使其正常工作。
mbpatel answered 2019-11-09T01:17:40Z
1 votes
仅作记录:对我而言,该错误来自右侧站点和底部的黑色边框。 所以我在每一侧(顶部,右侧,底部和左侧)都有黑色边框。 删除多余的右边线和底线就像是一种魅力。
Langusten Gustel answered 2019-11-09T01:18:04Z
1 votes
对我来说,问题似乎在于我自己创建了9补丁。 我认为在左边缘和顶部边缘具有1 px的边界就足够了,但是您需要确保图像在每个边缘具有1 px的边界。
Guido Kersten answered 2019-11-09T01:18:28Z
0 votes
当错误出现时,它也会在android studio中打开图像。 我所做的所有修复工作都是将任何补丁边界扩展为单个绘制像素。 我重新跑了,它奏效了。 不知道为什么,但是我用几个图像重复测试了这一点。
dbconfession answered 2019-11-09T01:18:53Z
0 votes
我发现问题与* .9.png文件有关。 打开并检查所有9-Patch文件,确保所有文件都具有1像素宽的黑色黑色边框,如果没有,只需单击白色位置并添加它,然后保存。
这是解决我的问题的唯一方法。
Akash Bisariya answered 2019-11-09T01:19:24Z
0 votes
您的9补丁程序可能是错误的。
也许您将9个像素的1像素边框剥掉了,但从中获得的信息不可用。 尝试为文本添加底线和右线。 我认为这将有助于解决您的问题。
QArea answered 2019-11-09T01:19:55Z
0 votes
当我们对任何图像进行九点修补时,它会在其边界处创建一条黑线。 该边框应透明或完全牢固。 如果不是,将出现此错误。
因此解决方案是将宽度和高度增加两个像素。 (在Photoshop中,增加画布的大小,而不是图像的大小。)
Dhanraj Gullapalli answered 2019-11-09T01:20:25Z
0 votes
我已通过更改Android Studio中的拉伸范围解决了该问题。
chefish answered 2019-11-09T01:20:49Z
更多推荐
Android图片粘上后仍错误,Android中的9补丁图片错误
发布评论