Наложить логотип PNG на изображение с камеры - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь сделать снимок с камеры и наложить логотип в верхнем левом углу этого снимка.Я попробовал метод наложения с использованием Canvas, но он не работает.Вот мой код:

Этот метод предназначен для сохранения изображения в хранилище

 public void saveBitmapToGallery(Bitmap bm, String picturename) {
        String root = Environment.getExternalStorageDirectory().toString();
        File mydir = new File(picturepath);
        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        displayheight = dm.heightPixels;
        displaywidth = dm.widthPixels;
        File file = new File(mydir, picturename + ".JPG");
        try {
            FileOutputStream fos = new FileOutputStream(file);
            Bitmap.createScaledBitmap(bm, displaywidth, displayheight, true);
            bm.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

Это метод, который я написал для наложения растрового изображения на изображение:

public Bitmap embedBitmap(Bitmap src){ // This method receives the bitmap from the OnActivityResult method
        int bitmapwidth = src.getWidth();
        int bitmapheight = src.getHeight();
        int logowidth = logo.getWidth();
        int logoheight = logo.getHeight();

        float marginLeft = (float) (bitmapwidth * 0.5 - logowidth * 0.5);
        float marginTop = (float) (bitmapheight * 0.5 - logoheight * 0.5);

        //Bitmap dest =  Bitmap.createBitmap(bitmapwidth,bitmapheight,src.getConfig());
        Canvas cv = new Canvas(src);
        //cv.drawBitmap(src,new Matrix(),null);
        cv.drawBitmap(logo, 0,0,new Paint());
        saveBitmapToGallery(src, picturename);
        return src;
    }

}

Дайте мне знать, что нужно сделать.Спасибо.

...