Я хочу взять маленькое изображение календаря и написать дату и месяц на нем. Это будет отображаться много раз в виде списка, поэтому я ищу оптимальный способ сделать это.Лучший способ написать текст на изображении?
Ниже работает отлично, есть лучший способ:
ImageView image = (ImageView) findViewById(R.id.imageView2);
try {
// Load the png image into a bitmap
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.calendar_empty);
// Have to copy the bitmap so it is mutable
mBitmap = mBitmap.copy(Bitmap.Config.ARGB_8888, true);
// Create a canvas from the bitmap to draw on
Canvas canvas = new Canvas(mBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(12);
paint.setAntiAlias(true);
canvas.drawText("Sept", 11, 26, paint);
paint.setTextSize(18);
canvas.drawText("29", 14, 42, paint);
// Display the results on the screen
image.setImageDrawable(new BitmapDrawable(this.getResources(), mBitmap));
} catch (Exception e) {
e.printStackTrace();
}
С помощью метода наложения вы должны получить плотность отображения и масштабировать все ваши вычисления соответственно? С помощью вышеуказанного метода система андроидов автоматически изменяет изображение. – pcm2a
Вы имеете в виду, если физический размер текста в виджетах TextView остается неизменным на устройствах с различной плотностью экрана? Если да, то да, TextView позаботится об этом, вы можете определить textSize в dip. –
Это и расположение текста на изображении. Например, изображение 100px x 100px может быть 70px или 150px в зависимости от плотности экрана. Я хочу поместить мой текст X, Y пикселей, и он будет идеально выровнен по всем разрешениям. – pcm2a