Dessine des bitmaps basés sur la toile

C'est ainsi que je dessine Bitmap on Canvas dans mon application Android:

 canvas.save(); canvas.scale(scale, scale, x, y); canvas.drawBitmap(bitmap, x, y, null); canvas.restore(); 

Cependant, le Bitmap n'est pas réglé en douceur, aucun anti-aliasing n'est effectué. Comment puis-je activer l'anti-aliasing?

  • Comment annuler la sélection de texte par défaut de l'application Android Web 4.1 OS?
  • Comment importer des échantillons Android dans un Eclipse IDE
  • Comment analyser une réponse HTTP non standard?
  • ProcessReleaseResources
  • Disposition relative ignorant setMargin ()
  • Erreur "Pas d'identifiant de ressource trouvée pour attribut" même après avoir utilisé l'espace de noms http://schemas.android.com/apk/res-auto
  • Android - Y at-il un événement déclenché lorsque activity.setContentView a terminé le rendu?
  • Établir un texte TextView centralisé sur le plan du programme
  • Android: où sont téléchargés les fichiers enregistrés?
  • OnCreateOptionsMenu () non appelé dans Fragment
  • Dupliquer l'ID, l'étiquette nulle ou l'id parent avec un autre fragment pour com.google.android.gms.maps.MapFragment
  • Lecture de tous les événements d'aujourd'hui à l'aide de CalendarContract - Android 4.0+
  • 4 Solutions collect form web for “Dessine des bitmaps basés sur la toile”

    Essaye ça:

     Paint paint = new Paint(); paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); canvas.drawBitmap(bitmap, x, y, paint); 

    Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG); Ou paint.setFilterBitmap(true); A travaillé pour moi, mais soyez très prudent, sur mon jeu, il a réduit le FPS de 30FPS à 17FPS seulement. Donc, si c'est un dessin critique de mission, comme dans un jeu, il est préférable d'escalader l'image au moment du chargement. Ce que j'ai fait de la manière suivante:

     public Bitmap getImage (int id, int width, int height) { Bitmap bmp = BitmapFactory.decodeResource( getResources(), id ); Bitmap img = Bitmap.createScaledBitmap( bmp, width, height, true ); bmp.recycle(); return img; } 

    Avez-vous essayé de créer un objet Paint , en appelant setAntiAlias(true) et en le passant à la méthode drawBitmap comme 4ème paramètre? Si cela ne fonctionne pas, je suppose que vous devriez réduire l'appel drawBitmap au lieu de mettre à l'échelle le Canvas, par exemple en utilisant drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) .

    Utilisation:

     canvas.drawBitmap(source, 0, 0, new Paint(Paint.ANTI_ALIAS_FLAG)); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.