Что делает параметр «Paint» в android.graphics.Canvas.drawBitmap ()? - PullRequest
1 голос
/ 14 апреля 2011

У меня вопрос по drawBitmap.

android.graphics.Canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint)

Что рисует эта краска? Например у меня есть picture.jpg и я делаю

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.picture);
  paint = new Paint(); 
paint.setColor(Color.BLUE);

canvas.drawBitmap(bitmap, 0, 0, paint);

Что я могу сделать с этой "краской", когда у меня есть реальная картинка, а не какая-нибудь canvas.drawCircle. Можно ли как-нибудь изменить цвет картинки или что-то в этом роде?

Да, и еще один вопрос. Например, я рисую круг в mspaint размером 80x80, и мой фон остается белым. Когда я использую этот рисунок в моей программе, он показывает круг + этот белый фон. Есть ли способ, что там будет отображаться только круг без фона. Может быть, кто-то может предложить какую-нибудь программу, в которой я могу это осуществить, или какой код мне использовать в моей программе? (круг - это просто пример, может быть что угодно)
Да, и оправдание для использования фона круга, такого же, как фон программы, не подходит, потому что фон моей программы не белый или черный или какой-либо другой цвет, это изображение.

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011
  1. Paint объекты могут влиять на рендеринг растрового изображения. Например, они используются для маскировки рисунка растрового изображения.

  2. Сохраните свой круг в формате PNG или GIF и установите фон прозрачным (я не знаю, сможет ли это сделать MS Paint).

0 голосов
/ 15 апреля 2011

Я предлагаю GIMP для редактирования изображений с прозрачностью.

запустите новое изображение, удалите слой по умолчанию, добавьте прозрачный слой, затем вставьте поверх него свое изображение. Вы можете использовать нечеткий инструмент выбора, чтобы обрезать любое пустое пространство, затем сохранить как .png и у вас будет прозрачное изображение!

...