Создание файла .bmp имеет некоторую прозрачность - PullRequest
0 голосов
/ 22 апреля 2011

Я делаю Android 2d игру и столкнулся с проблемой. Я сделал файл .bmp с прозрачностью в paint.net и экспортировал его в затмение. Это перекрестный заяц, который должен быть прозрачным в центре, чтобы вы могли видеть, куда движется ваш персонаж. Если я не экспортировал его неправильно, я не смог сделать так, чтобы в моей игре была прозрачность в правильных областях.

Вот код, который я добавил

...
  Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
...
  BitmapFactory.Options options = new BitmapFactory.Options();
       options.inPreferredConfig = Bitmap.Config.ALPHA_8;

  Resources res = context.getResources();
  crosshair = BitmapFactory.decodeResource(res, R.drawable.crosshare,options);
....
  c.drawBitmap(crosshair, x, y, paint);

c - это холст, и первые 5 строк кода находятся в конструкторе моего перекрестного класса.

Спасибо

Ответы [ 2 ]

1 голос
/ 22 апреля 2011

Преобразование файла bmp в png должно решить вашу проблему.Файлы png не только имеют естественную поддержку прозрачности, но и меньше, чем файлы bmp.

О, и png - открытый формат.

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

Вы пытались установить краску альфа? paint.setAlpha (100); ... Также, если это не сработает, что, как я думаю, не работает с растровыми изображениями, попробуйте использовать BitmapDrawable (Resource res). Это позволит вам вызывать setAlpha () непосредственно в Drawable. Вам не нужно много менять, чтобы использовать это.

...