0
Я пытаюсь показать изображение .png с помощью холста, но по какой-то причине я не могу заставить его работать, изображения не сглаживаются. Это делает все пикселирование на кривых или диагоналях.Images dont anti-aliase using canvas
Это код, я использую:
Pixmap button = g.newPixmap("button.png");
@Override
public Pixmap newPixmap(String fileName) {
Config config = Config.ARGB_8888;
Options options = new Options();
options.inPreferredConfig = config;
InputStream in = null;
Bitmap bitmap = null;
try {
in = manager.open(fileName);
bitmap = BitmapFactory.decodeStream(in, null, options);
if (bitmap == null)
throw new RuntimeException("Couldn't load bitmap from asset '" + fileName + "'");
} catch (IOException e) {
throw new RuntimeException("Couldn't load bitmap from asset '" + fileName + "'");
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
}
}
}
return new Pixmap(bitmap);
}
g.drawPixmap(button);
@Override
public void drawPixmap(Pixmap pixmap) {
srcRect = new Rect(0, 0, pixmap.getOriginalWidth(), pixmap.getOriginalHeight());
dstRect = new Rect(pixmap.getX(), pixmap.getY(), pixmap.getX() + pixmap.getVirtualWidth(), pixmap.getY() + pixmap.getVirtualHeight());
canvas.drawBitmap(pixmap.bitmap, srcRect, dstRect, paint);
}
Что может я делать неправильно?
что на самом деле сделали мои изображения отображаются лучше, но он по-прежнему показывают некоторые пиксельные кривые (меньше, но она все еще показывает). Может быть, это какая-то проблема дизайна (может быть, какая-то техника в Photoshop, которую я должен использовать, или так ..) или есть ли какие-либо настройки, которые я должен активировать? – AnnaSpart
Uhm ... - это разрешение изображений, подходящих для устройства? Вы используете hdpi, xhdpi выпадающие папки? – Ixx
Да, я использую большое разрешение для устройств с высоким разрешением, и я использую доступные папки – AnnaSpart