Autore Topic: info collage  (Letto 284 volte)

Offline maverik1408

  • Utente junior
  • **
  • Post: 100
  • Respect: +1
    • Mostra profilo
    • MaverikApps
  • Dispositivo Android:
    NEXUS 5
  • Play Store ID:
    Maverik
info collage
« il: 03 Giugno 2014, 10:32:20 CEST »
0
ciao a tutti,

sto realizzando un'app per effettuare dei collage.
fino a che si parla di layout quadrati non ho problemi, volendo realizzare dei layout diversi tipo a triangolo, cerchio ecc.

come posso fare!??!?!?

ho pensato al ondraw della view

Post unito: 03 Giugno 2014, 20:12:04 CEST
per i collage quadrai o rettangolari ho usato dei frame layout all'interno dei un relative layout posizionati in maniera adeguata!

ora volevo realizzare qualche collage particolare!

sono risucito tramite imageview con il seguente codice

Codice: [Seleziona]


final Bitmap sourceImage = LoadBigImage.decodeSampledBitmapFromUri(R.drawable.foto, 960, 960, mContext);
                        final Bitmap alphaMask = LoadBigImage.decodeSampledBitmapFromUri(R.drawable.frame2, 960, 960, mContext);
                        final Bitmap sourceImage2 = LoadBigImage.decodeSampledBitmapFromUri(R.drawable.logo, 960, 960, mContext);
                        final Bitmap alphaMask2 = LoadBigImage.decodeSampledBitmapFromUri(R.drawable.frame, 960, 960, mContext);
                       
                       
                       
                        final Bitmap bitmapOut = Bitmap.createBitmap(960, 960, Bitmap.Config.ARGB_8888);
                Canvas canvas = new Canvas(bitmapOut);

                Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
                xferPaint.setColor(Color.BLACK);

                xferPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));

                canvas.drawBitmap(sourceImage, 0, 0, null);
                canvas.drawBitmap(alphaMask, 0, 0, xferPaint);
                       
                final ImageView imgeview1 = new ImageView(mContext);
                imgeview1.setImageBitmap(bitmapOut);

                       
                        final Bitmap bitmapOut2 = Bitmap.createBitmap(960, 960, Bitmap.Config.ARGB_8888);
                final Canvas canvas2 = new Canvas(bitmapOut2);

                final Paint xferPaint2 = new Paint(Paint.ANTI_ALIAS_FLAG);
                xferPaint2.setColor(Color.BLACK);

                xferPaint2.setXfermode(new PorterDuffXfermode(Mode.DST_IN));

                canvas2.drawBitmap(sourceImage2, 0, 0, null);
                canvas2.drawBitmap(alphaMask2, 0, 0, xferPaint2);
                       
               
                final ImageView imgeview2 = new ImageView(mContext);
                imgeview2.setImageBitmap(bitmapOut2);
               
               
               
                mLayout.addView(imgeview1);
                mLayout.addView(imgeview2);


purtroppo non riesco a capire come applicare questo codice ad un framelayout .. in quanto le mie immagini vengono aggiunte al frame tramite una classe che da un drawable restituisce un view da aggiungere al framelayout.

« Ultima modifica: 03 Giugno 2014, 20:12:04 CEST da maverik1408, Reason: Merged DoublePost »
Maverik @ Google Play Store