Autore Topic: overaly immagine su fotocamera  (Letto 390 volte)

Offline mrfalco

  • Utente junior
  • **
  • Post: 81
  • Respect: +2
    • Mostra profilo
    • www.falcodomingo.it
  • Dispositivo Android:
    Samsung Galazy S
  • Sistema operativo:
    Windows Vista
overaly immagine su fotocamera
« il: 13 Marzo 2015, 17:29:25 CET »
0
Salve a tutti sto scrivendo una semplice app che all'avvio apre la fotocamera e aggiunge una immagine,la quale è possibile spostarla ,ruotarla e zoomarla.
Sino qui tutto bene.
Nel momento in cui tento di scattare la foto devo fare il merge delle 2 bitmap una proveniente dalla camera ,l'altra dall'immagine che sposto.
Il problema è semplicemente uno la prima bitmap ha una risoluzione molto piu' elevata rispetto alla seconda e quindi il risultato è l'immagine di base della fotocamera e l'altra immagine viene sovrapposta ma in maniera microscopica.
Questo è un frammento di codice che cosente di fare il merge delle 2 bitmap.

Codice (Java): [Seleziona]
 public void onPictureTake(byte[] data, Camera camera) {
        //fonte camera
        Bitmap bmp1 = BitmapFactory.decodeByteArray(data, 0, data.length);
        //getBitmapScreenshot(image);
        Bitmap bmp2 = ((BitmapDrawable)view.getDrawable()).getBitmap();
       
        bmp=  Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bmp);
        canvas.drawBitmap(bmp1, 0,0, null);
        canvas.drawBitmap(bmp2, posXImg,posYImg, null);
       
        mutableBitmap = bmp.copy(Bitmap.Config.ARGB_8888, true);
       
        savePhoto(mutableBitmap);
       
       
        dialog.dismiss();
    }

Questo è l'xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/loyout"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

  <android.view.SurfaceView
 android:id="@+id/surface"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 />
        <ImageView
        android:id="@+id/image"
        android:contentDescription="@string/vuoto"
        android:scaleType="matrix"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/mark3" />
       
</RelativeLayout>

Sarebbe buona cosa avere l'istantanea di quello che si vede che è perfetto.