2011-12-02 9 views
5

カメラで撮影し、同時にカメラビューの上にオーバーレイ画像を表示する必要があります。写真が撮影された後、私は写真を撮っている間にユーザーが見たものを保存する必要があります。誰も私を提案することはできますか?お願いします。アンドロイドでカメラで撮影した画像でオーバーレイする

+0

あなたはこれを理解しましたか?私は同じことをする必要があります。オーバーレイで作業するようにカメラを取得しましたが、2つを1つの画像として一緒に保存することはできません。 –

+0

[カメラから画像をキャプチャし、保存する前に別のビットマップを重ね合わせる]可能な複製(https://stackoverflow.com/questions/9938801/capturing-image-from-camera-and-overlaying-another-bitmap-before-we) -それを保存) –

答えて

-1
public void onPictureTaken(byte[] data, Camera camera){ 
    Bitmap cameraBitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 

    wid = cameraBitmap.getWidth(); 
    hgt = cameraBitmap.getHeight(); 


Bitmap newImage = Bitmap.createBitmap(wid , hgt , Bitmap.Config.ARGB_8888); 

    Canvas canvas = new Canvas(newImage); 

    canvas.drawBitmap(cameraBitmap, 0f, 0f, null); 

    Drawable drawable = getResources().getDrawable(R.drawable.d); 
    drawable.setBounds(20 ,20, 260, 160); 
    drawable.draw(canvas); 

    File storagePath = new File(Environment.getExternalStorageDirectory() + "/Vampire Photos/"); 
    storagePath.mkdirs(); 

    File myImage = new File(storagePath,Long.toString(System.currentTimeMillis()) + ".jpg"); 

    try 
    { 
    FileOutputStream out = new FileOutputStream(myImage); 
    newImage.compress(Bitmap.CompressFormat.JPEG, 90, out); 


    out.flush(); 
    out.close(); 
    } 
    catch(FileNotFoundException e) 
    { 
    Log.d("In Saving File", e + ""); 
    } 
    catch(IOException e) 
    { 
    Log.d("In Saving File", e + ""); 
    } 

    camera.startPreview(); 

    drawable = null; 

    newImage.recycle(); 
    newImage = null; 

    cameraBitmap.recycle(); 
    cameraBitmap = null; 
} }; 
関連する問題