android – 创建一个新的位图并在其中绘制新像素

我正在尝试创建一个应用程序,它将通过editText指定两张图片,比较两个图像上每个像素的颜色,并创建一个图片(位图)(可以保存到SD卡),其中包含两张原始照片.

我在创建这个新位图时遇到了问题.我怎样才能实现目标?我真的不知道如何做到这一点,我先创建新的位图,然后写入它,或者先得到差异,然后从中绘制一个位图?图片大约是. 300×300像素.

解决方法

这段代码只是我的头脑而未经测试,但它应该让你走在正确的轨道上.
final int w1 = b1.getWidth();
final int w2 = b2.getWidth();
final int h1 = b1.getHeight();
final int h2 = b2.getHeight();
final int w = Math.max(w1,w2);
final int h = Math.max(h2,h2);

Bitmap compare = Bitmap.createBitmap(w,h,Config.ARGB_8888);

int color1,color2,a,r,g,b;

for (int x = 0; x < w; x++) {
    for (int y = 0; y < h; y++) {
        if (x < w1 && y < h1) {
            color1 = b1.getPixel(x,y);
        } else {
            color1 = Color.BLACK;
        }
        if (x < w2 && y < h2) {
            color2 = b2.getPixel(x,y);
        } else {
            color2 = Color.BLACK;
        }
        a = Math.abs(Color.alpha(color1) - Color.alpha(color2));
        r = Math.abs(Color.red(color1) - Color.red(color2));
        g = Math.abs(Color.green(color1) - Color.green(color2));
        b = Math.abs(Color.blue(color1) - Color.blue(color1));

        compare.setPixel(x,y,Color.argb(a,b));
    }
}
b1.recycle();
b2.recycle();

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...