I am developing android application drag and drop sticker and resize sticker after capturing image. I have problem with sticker position is change after saving image.it is move almost 20 dp down after saving.
i have use https://github.com/siralam/CameraViewPlus for camera2. and https://github.com/wuapnjie/StickerView for sticker.
here is my function draw sticker over it and save.
downloadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ICallback callback = new ICallback() {
@Override
public void done(Exception e) {
if (e == null) {
DebugLog.e("onImageSavedCallback: image saved!");
//showCustomDialog(layoutView);
// closeButton.performClick();
showCustomDialog();
cameraView.start();
} else {
DebugLog.e("onImageSavedCallback: error saving image: " + e.getMessage());
showSnackBar("Error saving image", Snackbar.LENGTH_SHORT);
}
}
};
stickerView.setLocked(true);
stickerView.invalidate();
Bitmap newBitmap = null;
Bitmap bitmap = CommonMethods.getBitmapFromView(stickerView);
try {
Bitmap.Config config = imageBitmap.getConfig();
if (config == null) {
config = Bitmap.Config.ARGB_8888;
}
newBitmap = Bitmap.createBitmap(imageBitmap.getWidth(), imageBitmap.getHeight(), config);
Canvas canvas = new Canvas(newBitmap);
// Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
canvas.drawBitmap(imageBitmap, 0, 0, null);
canvas.drawBitmap(bitmap, 0, 0, null);
} catch (Exception ex) {
ex.printStackTrace();
}
int t = 1;
ImageSaver imageSaver = new ImageSaver(
newBitmap,
getExternalFilesDir(null),
callback,
t
);
mBackgroundHandler.post(imageSaver);
}
});
I have issue with sticker change itz position after saving image. image will show out of bound when image scale type would be center crop. corner portion cutting down.
First Image is before save. Second Image is after save.