2012-03-30 4 views
1

ここで、tempdataはカメラからキャプチャしたデータ、savephoto(ビットマップ)はカメラから撮影した画像を保存する方法で、正確に実行しています,, on [2] 私はsavephoto(p)を呼び出すときに別のビットマップをオーバーレイしています メモリカードに空のファイルを作成しています... イメージを保存しません。 がどのようにiが互いにカメラから画像をキャプチャし、保存する前に別のビットマップをオーバーレイする

[1]File Imgname = Environment.getExternalStorageDirectory(); 
Bitmap bmp = BitmapFactory.decodeByteArray(tempdata,0,tempdata.length); 
imv.setImageBitmap(bmp); 
savePhoto(bmp); 

[2]Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); 
Bitmap b = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(b); 
canvas.drawBitmap(bmp, 0,0, null); 
canvas.drawBitmap(bmp2, 50, 50, null); 
savePhoto(b); 

の最上部にある2つのビットマップをオーバーレイすることができます任意の助けを大幅にあなたがカメラからのビットマップを取得した後取得した後、次のように行う(bitmap1を想定)して、あなたのことができ ありがとう

答えて

2

を理解されるであろうビットマップをビットマップ1の上にオーバーレイする(ビットマップ2と仮定) このオーバーレイマーク()をビットマップで呼び出すと、必要なビットマップであるオーバーレイビットマップが返されます。私はこのコードを試してみました

private Bitmap overlayMark(Bitmap bmp1, Bitmap bmp2) { 
    int bh = originalBitmap.getHeight(); 
    int bw = originalBitmap.getWidth(); 
    Bitmap bmOverlay = Bitmap.createBitmap(bw,bh,Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bmp1, 0, 0, null); 
    canvas.drawBitmap(bmp2, 0,0, null); 
    return bmOverlay; 
} 
+0

...そのビットマップを保存することができ,,しかし、私は、メモリカードにbmOverlayを保存するとき、それは働いていない、それは、0.0キロバイトのファイルを作成し、空のファイルを意味し,,,, – Pranav

+0

私にコードを見せてください。 –

+0

私は、ファイルを保存するメソッドにbmOverlayを渡しますが、空のファイルを作成しています。保存するコードはここにあります:http://stackoverflow.com/questions/ 9939719 /このシナリオでメモリカードからイメージを取得する方法 – Pranav

関連する問題