2011-12-02 42 views
5

Tôi cần chụp ảnh bằng máy ảnh và đồng thời hiển thị hình ảnh lớp phủ ở phía trên cùng của chế độ xem máy ảnh. Sau khi hình ảnh được chụp, tôi cần phải lưu những gì người dùng nhìn thấy trong khi chụp ảnh. Bất cứ ai có thể gợi ý cho tôi? Xin vui lòng.Lớp phủ hình ảnh có hình ảnh được chụp bằng camera trong android

+0

Bạn đã bao giờ tìm ra điều này chưa? Tôi cần phải làm như vậy. Đã khiến máy ảnh hoạt động với lớp phủ, nhưng tôi không thể lưu hai ảnh lại với nhau thành một hình ảnh. –

+0

Có thể trùng lặp [chụp hình ảnh từ máy ảnh và chồng lên một bitmap khác trước khi chúng tôi lưu nó] (https://stackoverflow.com/questions/9938801/capturing-image-from-camera-and-overlaying-another-bitmap-before-we -save-it) –

Trả lời

-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; 
} }; 
Các vấn đề liên quan