gpt4 book ai didi

java - Android - 将一张图像插入另一张图像的透明像素中

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:51 25 4
gpt4 key购买 nike

在 Android 中,我尝试在 FrameLayout 中分层放置两个图像(在本例中为 Bitmap 对象)。一个图像放置在顶部,另一个图像插入在该图像下方的第一个透明像素处。

目前,我正在尝试使用 Bitmap.getPixel() 来定位透明像素:

for (int i = 0; i < image_count; i++)
{
//load page from internal memory
topImages[i] = getImage("p"+i+".png");
for (int x = 0; x < topImages[i].getWidth(); x++)
{
for (int y = 0; y < topImages[i].getHeight(); y++)
{
if (topImages[i].getPixel(x, y) == Color.TRANSPARENT)
{
bottomX[i] = x;
bottomY[i] = y;
break;
}
}
}
}

然后,我使用两个 ImageView 将图像添加到框架布局,并使用这些值来定位下部图像:

bottomView.setTranslationX(bottomX[position]);
bottomView.setTranslationY(bottomY[position]);

但是,底部图像的位置始终不准确,通常向下和向右有一个边距,对于每个给定图像来说,该边距不同(但始终相同)。我还尝试了 setX()setY(),以及使用参数设置 TOPLEFT 值类似,结果相同)。如何确保图像的左上角位于(或接近)第一个透明像素处始终保持一致?

最佳答案

如果您只想显示图像,可以将它们添加为 FrameLayout 中的不同框架。在您的 xml 中,首先声明要显示为透明像素的像素,然后声明将具有透明像素的像素。

关于java - Android - 将一张图像插入另一张图像的透明像素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24176057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com