Печать текста на Bitmap с учётом размера экрана

Ответить
Lighter
Сообщения: 61
Зарегистрирован: 13 авг 2013, 16:39

Печать текста на Bitmap с учётом размера экрана

Сообщение Lighter » 08 май 2014, 13:41

Всем привет!

У меня есть изображение, например, дорожного знака: http://www.wpclipart.com/blanks/road_si ... lank_T.png.
И на нём нужно динамически рисовать текст (например, http://faithofafather.files.wordpress.c ... .jpg?w=820).

Нужно рассчитать размер текста, чтобы он был по размеру изображения и с определёнными отступами.
Задача простая, но как лучше сделать это, учитывая разные размеры экрана, разную плотность пикселей и т.п.?

Код: Выделить всё

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		Bitmap roadSign = BitmapFactory.decodeResource(getResources(), R.drawable.road_sign);
		Bitmap tmpBitMap = Bitmap.createBitmap(roadSign.getWidth(), roadSign.getHeight(), Bitmap.Config.RGB_565);
		Canvas tmpCanvas = new Canvas(tmpBitMap);
		tmpCanvas.drawBitmap(roadSign, 0, 0, null);
		
		Paint paint = new Paint();		
		paint.setColor(Color.BLACK);
		
		// Рассчитать размер текста
		paint.setTextSize(50); 
		// Рассчитать розицию текста
		tmpCanvas.drawText("Warning", 50, 100, paint);
		
		ImageView imgView = new ImageView(this);
		imgView.setImageDrawable(new BitmapDrawable(getResources(), tmpBitMap));		
		setContentView(imgView);
	}

Ответить