Possible Duplicate:
Android: How to overlay-a-bitmap/draw-over a bitmap?
I have implement the android Camera functionality in amy application.
Now i want to combine any transperent image with that captured camera Image before to save that image in to gallery, then how it can be done ??
Any code will be realy appereciated. Thanks.
Edit: I am using this Code to captured and Save the Image So, How shoud i have to Implement Such things.
takePhotoBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // <5>
ImageCaptureCallback iccb = null;
try {
String filename = timeStampFormat.format(new Date());
ContentValues values = new ContentValues();
values.put(Media.TITLE, filename);
values.put(Media.DESCRIPTION, "Image capture by camera");
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
iccb = new ImageCaptureCallback( getContentResolver().openOutputStream(uri));
// to put the Image on captured image.
Canvas canvas = new Canvas();
Bitmap kangoo = BitmapFactory.decodeResource(getResources(),
R.drawable.icon);
canvas.drawColor(Color.argb(160, 21, 140, 21));
canvas.drawBitmap(kangoo, 130, 10, null);
} catch(Exception ex ){
ex.printStackTrace();
Log.e(getClass().getSimpleName(), ex.getMessage(), ex);
}
camera.takePicture(mShutterCallback, mPictureCallbackRaw, iccb);
}
});
Camera.PictureCallback mPictureCallbackRaw = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera c) {
Log.e(getClass().getSimpleName(), "PICTURE CALLBACK RAW: " + data);
System.out.println("\n\n\n\nThe Data in mPictureCallbackRaw is :"+data);
//camera.startPreview(); // Added StastPreview();
}
};
Camera.PictureCallback mPictureCallbackJpeg= new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera c) {
Log.e(getClass().getSimpleName(), "PICTURE CALLBACK JPEG: data.length = " + data);
System.out.println("\n\n\n\nThe Data in mPictureCallbackJPEG is :"+data);
camera.startPreview();
}
};
Camera.ShutterCallback mShutterCallback = new Camera.ShutterCallback() {
public void onShutter() {
Log.e(getClass().getSimpleName(), "SHUTTER CALLBACK");
}
};
public class ImageCaptureCallback implements PictureCallback {
private OutputStream filoutputStream;
public ImageCaptureCallback(OutputStream filoutputStream) {
this.filoutputStream = filoutputStream;
}
@Override
public void onPictureTaken(byte[] data, Camera camera) {
try {
Log.v(getClass().getSimpleName(), "onPictureTaken=" + data + " length = " + data.length);
filoutputStream.write(data);
filoutputStream.flush();
filoutputStream.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}
}