Функция наложения растрового изображения не работает должным образом - PullRequest
0 голосов
/ 20 октября 2011

Я использую функцию для совмещения двух растровых файлов друг с другом, и это также наложение.Я использую эту функцию, чтобы наложить ее на OneAnother.

public static Bitmap combineImages(Bitmap cameraImage, Bitmap visionImage) { // can add a 3rd parameter 'String loc' if you want to save the new image - left some code to do that at the bottom 

     Bitmap finalImage = null; 
        int width, height = 0; 
          width = cameraImage.getWidth(); 
          height = cameraImage.getHeight(); 

        finalImage = Bitmap.createBitmap(width, height, cameraImage.getConfig()); 

        Canvas canvas = new Canvas(finalImage); 

        canvas.drawBitmap(cameraImage, new Matrix(), null);
        canvas.drawBitmap(visionImage, new Matrix(), null);

        // this is an extra bit I added, just incase you want to save the new image somewhere and then return the location 
        /*String tmpImg = String.valueOf(System.currentTimeMillis()) + ".png"; 

        OutputStream os = null; 
        try { 
          os = new FileOutputStream(loc + tmpImg); 
          finalImage.compress(CompressFormat.PNG, 100, os); 
        } catch(IOException e) { 
          Log.e("combineImages", "problem combining images", e); 
        }*/ 

        return finalImage; 
      } 

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

Пожалуйста, скажите мне, где я не прав в этой функции ??Спасибо.

1 Ответ

1 голос
/ 20 октября 2011

это функция для наложения двух битовых карт, с

private Bitmap overlayMark(Bitmap bmp1, Bitmap bmp2)    { 
    int bh = originalBitmap.getHeight();
    int bw = originalBitmap.getWidth();
    Bitmap bmOverlay = Bitmap.createBitmap(bw,bh,Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bmp1, 0, 0, null);
    canvas.drawBitmap(bmp2, 0,0, null);
    return bmOverlay;
} 
...