Android 安卓组合图片

Android 安卓组合图片,android,eclipse,image,Android,Eclipse,Image,嘿,我试着搜索这个,但运气不太好 最相似的是这个 无论如何,我是为android开发的。 问题是我有png格式的图像(或者jpg,因为bmp对于我的应用程序来说相当大)。 如何从上到下组合三个图像。 我不需要将它们保存在sd上只是为了显示它们。 谢谢,如果存在类似的问题和答案,请道歉。您可以使用画布,然后使用适当的顶部和左侧偏移量绘制每个位图(假设每个图像都加载到位图对象中) 您可以将下一个位图的顶部偏移量增加以前绘制的位图的总大小 退房 例如: public void stackImages(

嘿,我试着搜索这个,但运气不太好 最相似的是这个 无论如何,我是为android开发的。 问题是我有png格式的图像(或者jpg,因为bmp对于我的应用程序来说相当大)。 如何从上到下组合三个图像。 我不需要将它们保存在sd上只是为了显示它们。
谢谢,如果存在类似的问题和答案,请道歉。

您可以使用画布,然后使用适当的顶部和左侧偏移量绘制每个位图(假设每个图像都加载到位图对象中)

您可以将下一个位图的顶部偏移量增加以前绘制的位图的总大小

退房

例如:

public void stackImages(Context ctx)
{
    // base image, if new images have transparency or don't fill all pixels
    // whatever is drawn here will show.
    Bitmap result = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888);

    // b1 will be on top
    Bitmap b1 = Bitmap.createBitmap(400, 200, Bitmap.Config.ARGB_8888);

    // b2 will be below b1
    Bitmap b2 = Bitmap.createBitmap(400, 200, Bitmap.Config.ARGB_8888);

    Canvas c = new Canvas(result);

    c.drawBitmap(b1, 0f, 0f, null);

    // notice the top offset
    c.drawBitmap(b2, 0f, 200f, null);

    // result can now be used in any ImageView
    ImageView iv = new ImageView(ctx);
    iv.setImageBitmap(result);

    // or save to file as png
    // note: this may not be the best way to accomplish the save
    try {
           FileOutputStream out = new FileOutputStream(new File("some/file/name.png"));
           result.compress(Bitmap.CompressFormat.PNG, 90, out);
    } catch (Exception e) {
           e.printStackTrace();
    }
}

你说的“自上而下”到底是什么意思?是的,这可能意味着很多事情之一。图像处理是一门复杂的学科,词汇量很大。您应该找出如何使用该词汇表来表达此特定任务,以便我们确切地知道您正在尝试执行的操作。请注意,这将是一种“最后在顶部”的方法,这意味着除非图像中具有透明度,否则最后绘制的图像将显示在顶部。若这是你们想要的,这并没有错,但若你们想要一个混合的图像,这可能是行不通的。图像处理是一个非常复杂的主题,在开始处理代码之前,您需要仔细定义您想要的结果。这就是为什么您提供顶部偏移,它会将位图向下移动许多像素。例如,如果第一个图像的高度为50像素,则绘制下一个位图时应使用top=50。如果第二个高度为25像素,第三个高度为top=75,等等。你可以用Canvas.drawBitmap(位图,float left,float top,Paint Paint)方法来实现这一点。对不起,我读到的“top to bottom”是堆叠在一起的,不是垂直排列的。我想做的是假设我有两个png 400x200文件,我想通过一个叠加另一个来创建一个全新的400x400 png。这里值得思考的是,我可以使用这个画布将这个文件保存为bmp,然后保存为png吗。我可以先把png改成bmp,然后改成画布,再从画布导出成bmp,再改成png吗?我真的很抱歉,看起来这就是答案。好的,现在的问题是我如何使用画布。我如何(比方说)使用画布中的图片作为图层的背景????或者作为图像视图顶部的图像????