Autore Topic: drawBitmap diverso per ogni dispositivo  (Letto 517 volte)

Offline skylong

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    S3
drawBitmap diverso per ogni dispositivo
« il: 27 Febbraio 2013, 20:59:48 CET »
0
Ciao ragazzi,
ho un problema con il drawbitmap del canvas.
Io ho un immagine di partenza presa dalle Resource dentro la quale dovrei disegnare un bitmap a scelta dell'utente.
Il problema si presenta quando faccio il test con l'emulatore con android 2.2 240x320 e con il mio S3...i due risultati sono diversi!!
Nel primo caso, quello con l'emulatore, il risultato è giusto, mentre col mio s3 il bitmap risulta piccolo, ma se vado a leggere da entrambi le dimensioni dell'immagine da disegnare sono le stesse!!

Il codice che uso per fare ciò è il seguente:
Codice (Java): [Seleziona]
Paint fPaint = new Paint();
fPaint.setAntiAlias(true);
fPaint.setFilterBitmap(true);
fPaint.setDither(true);

Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
       
Bitmap bMap = BitmapFactory.decodeResource(
                getResources(), R.drawable.sfondo, options).copy(
                Bitmap.Config.ARGB_8888, true);
                                                                               
Canvas c = new Canvas(bMap);
               
c.drawBitmap(inGrigio(bmpCrop), 20, 25, fPaint);
               
c.restore();

Post unito: 28 Febbraio 2013, 11:30:35 CET
Ho trovato il motivo...quando fa drawbitmap le dimensioni in pixel del bitmap sono in base alla risoluzione del telefono e non in base al canvas.
Quindi con l's3 con schermo a risoluzione più alta l'immagine risulta piccola, metre con un telefono 240x320 risulta giusto...
« Ultima modifica: 28 Febbraio 2013, 11:30:35 CET da skylong, Reason: Merged DoublePost »