Android aapt工具:为什么将我的png8转换为png24

时间:2013-12-17 11:06:22

标签: android png android-resources aapt

我创建了一个png-8图像作为九个补丁图像,只有大约16K,700 * 1200。 打包后,我检查了结果资源文件,它改为大约500K字节。我打开它,发现它改为PNG-24。我认为这是AAPT做到了这一点。有没有人知道为什么会这样? 来自doc

  

http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables

它只是说它可以做一些优化,将真彩色png转换为8位。我只是不知道为什么会发生相反的情况......

------------------------ UPDATE --------------------- < / p>

按照建议,我上传了problomatic图像

enter image description here

1 个答案:

答案 0 :(得分:0)

经过调查,我发现png是一个8位9patch。我找到了一篇文章说

// If the image is a 9-patch, we need to preserve it as a ARGB file to make
// sure the pixels will not be pre-dithered/clamped until we decide they are

可在AAPT源代码Images.cpp

中找到

因此AAPT将8位png更改为真彩色png。但请记住前提条件:9patch图像。所以创建一个8bit 9patch png并不是一个好主意。