所以我有一个常规的drawable,我想用它来做很多变化。我计划用特定的变化替换某些像素颜色。为了减少应用程序所需的图像文件数量,我计划在运行时进行这种像素操作。我可以在运行时创建要使用的可绘制/后台资源吗?或者在Android上这是不可能的?就像我从.png文件开始一样,在运行时我将它修改为类似的.png文件。我可以使用新的.png文件作为布局的背景,而程序仍在使用吗?
由于
答案 0 :(得分:0)
我认为您不需要每次都创建一个新的.png文件。请看this question。第一个答案提供了一种在运行时以像素方式操作位图对象的方法。所以你从你的应用程序提供的.png文件开始,通过这样做得到一个位图:
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.bitmap_resource);
然后您可以操作位图并再次更改背景。如果您愿意,也可以使用以下方法将其保存为.png:
bitmap.compress(Bitmap.CompressFormat.PNG, quality, outStream);
查看位图here的文档。