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?

  • Bitmap.compress renvoie false pour l'image dessinée
  • Le sélecteur de couleurs ne fonctionne pas pour annuler et refaire
  • Placement / chevauchement (index z) une vue ci-dessus des onglets de la barre d'action
  • Comment agrandir / zoomer une partie de l'image
  • Android - peint le bitmap tourné vers un emplacement spécifique sur un canevas
  • Quand puis-je synchroniser les méthodes ou utiliser des blocs synchronisés dans mes méthodes dans un jeu Android?
  • DrawBitmap () et setPixels (): quelle est la foulée?
  • Comment définir un filtre de couleur pour XWalkView? (Résolu)
  • 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.