我目前正在通过EasyRS使用RenderScript,以便使用以下代码在另一张图像上覆盖具有透明背景的图像:
Bitmap baseBmp = BitmapFactory.decodeFile(imagePath);
Bitmap overlayBmp = BitmapFactory.decodeStream(assetManager.open("images/overlay.png"));
baseBmp = Resize.resize(rs, baseBmp, overlayBmp.getWidth(), overlayBmp.getHeight());
Blend.dstAtop(rs, baseBmp, overlayBmp);
此代码有效,但是我必须将基本图像的大小调整为与叠加层相同的大小,反之亦然,以使用Blend。问题在于图像不一定具有相同的长宽比,我希望保留叠加层的自然长宽比,并将其水平居中放置在基本图像上。
有什么办法可以在覆盖图像的侧面添加透明像素以保持其内容的长宽比?我希望能够通过RenderScript进行此操作,因为我没有位图的屏幕画布,因此无法为标准Android库Bitmap操作获得硬件加速。