2011-04-14 3 views
1

У меня есть вопрос о drawBitmap.Что делает параметр «Paint» в android.graphics.Canvas.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, а мой фон остается белым. Когда я использую этот чертеж в своей программе, он показывает круг + на белом фоне. Есть ли способ, которым будет отображаться только круг без фона. Может быть, кто-то может предложить какую-то программу, в которой я могу это сделать, или какой код я должен использовать в своей программе? (круг - это просто пример, может быть что угодно)
Да и извините за использование фона круга, аналогичного фону программы, не подходит, потому что фон моей программы не белый или черный или какой-либо другой цвет, это изображение.

ответ

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

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

0

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

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

Смежные вопросы