私は関数を使用して2つのビットマップファイルを相互にマージし、オーバーレイします。 私はOneAnotherでこの関数をオーバーレイするためにこの関数を使用しています。オーバーレイ機能ビットマップが正しく動作しない
public static Bitmap combineImages(Bitmap cameraImage, Bitmap visionImage) { // can add a 3rd parameter 'String loc' if you want to save the new image - left some code to do that at the bottom
Bitmap finalImage = null;
int width, height = 0;
width = cameraImage.getWidth();
height = cameraImage.getHeight();
finalImage = Bitmap.createBitmap(width, height, cameraImage.getConfig());
Canvas canvas = new Canvas(finalImage);
canvas.drawBitmap(cameraImage, new Matrix(), null);
canvas.drawBitmap(visionImage, new Matrix(), null);
// this is an extra bit I added, just incase you want to save the new image somewhere and then return the location
/*String tmpImg = String.valueOf(System.currentTimeMillis()) + ".png";
OutputStream os = null;
try {
os = new FileOutputStream(loc + tmpImg);
finalImage.compress(CompressFormat.PNG, 100, os);
} catch(IOException e) {
Log.e("combineImages", "problem combining images", e);
}*/
return finalImage;
}
しかし、この画像を保存した後、私はそれらの画像を組み合わせて表示します。オーバーレイではありません。私はそれをもう一つのオーバーレイにしたい。
私がこの機能でどこが間違っているか教えてください。おかげさまで
をね。 –
私の最初の画像はcameraPictureのもので、TransperentLayerの2番目のものです。ですから、私はFirstOne ImageにオーバーレイされるべきSecond ImageのTranserent Imageを必要とします。 –
私の答えを参照してください。 –