Мне нужно объединить 2 изображения в один. В основном все, что мне нужно сделать, это наложить один из них поверх другого в центре изображения. Это должно работать на всех основных устройствах Android.Битовая карта преобразования битов
Я попробовал несколько вещей, но вот мой фрагмент кода, как прямо сейчас (да и я знаю, что это перепутались, мы должны выяснить delx и DELY):
/* Rotate our original photo */
// final float scale = getResources().getDisplayMetrics().density;
canvas.drawBitmap(bmp, 0f, 0f, null);
final float overlay_scale_factor = .5f;
final int overlaywidth = (int)(overlay.getWidth() * overlay_scale_factor);
final int overlayheight = (int)(overlay.getHeight() * overlay_scale_factor);
final int delx = overlaywidth;
final int dely = overlayheight;
Matrix mat = new Matrix();
mat.postRotate(270);
mat.postScale(overlay_scale_factor, overlay_scale_factor);
//mat.postTranslate(-delx, -dely);
canvas.drawBitmap(overlay, mat, null);
/* Bottom image 'composite' is now a composite of the two. */
Любая помощь оценивается. Я знаю, что это просто математика, но я плохо разбираюсь в таких вещах.
Первое изображение, 'bmp' на 100% размером с холст. Второе изображение, «наложение» - это наложение, которое должно быть центрировано после поворота на 270 градусов.
Это работает. Огромное спасибо! Мне не хватало этого canvas.translate в начале, делая вещи сложными. – Peanut