Android使用运行时创建的图像作为背景

Android使用运行时创建的图像作为背景,android,android-layout,image-processing,pixels,Android,Android Layout,Image Processing,Pixels,因此,我有一个常规的绘图,我想用很多变化。我计划用特定的变化替换某些像素颜色。为了减少应用程序所需的图像文件量,我计划在运行时进行这样的像素操作。我是否可以在运行时创建要使用的可绘制/背景资源?或者这在Android上是不可能的?就像我从一个.png文件开始,在运行时我把它修改成一个类似的.png文件。当程序还在运行时,我可以使用这个新的.png文件作为布局的背景吗 谢谢我想你不必每次都创建一个新的.png文件。请看一看。第一个答案提供了一种在运行时以像素方式操作位图对象的方法。因此,您可以从应

因此,我有一个常规的绘图,我想用很多变化。我计划用特定的变化替换某些像素颜色。为了减少应用程序所需的图像文件量,我计划在运行时进行这样的像素操作。我是否可以在运行时创建要使用的可绘制/背景资源?或者这在Android上是不可能的?就像我从一个.png文件开始,在运行时我把它修改成一个类似的.png文件。当程序还在运行时,我可以使用这个新的.png文件作为布局的背景吗


谢谢

我想你不必每次都创建一个新的.png文件。请看一看。第一个答案提供了一种在运行时以像素方式操作位图对象的方法。因此,您可以从应用程序提供的.png文件开始,通过以下操作从中获取位图:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.bitmap_resource);
然后,您可以操纵位图并再次更改背景。如果需要,也可以使用以下命令将其另存为.png:

bitmap.compress(Bitmap.CompressFormat.PNG, quality, outStream);

请查看位图文档。

hmmm谢谢。你的链接似乎是一个好的开始。困难在于,我不确定如何在运行时BitmapDrawable bd=new BitmapDrawable(位图)时使用新的PNG或位图作为视图布局文件的背景;视图.立根背景(bd);当然,视图必须是应该获得背景的视图。它必须在之前初始化。