Привет Террапин.Ваш фрагмент кода выглядит правильно.Всего лишь две мысли из головы.
1) Вы уверены, что ваше растровое изображение в формате ARGB_8888?Возможно, вы получите другой формат по умолчанию, в зависимости от обстоятельств.
2) Альфа-значения являются абсолютными (не в процентах), поэтому я думаю, что вы хотите, чтобы первый параметр был 127, а не 50.
РедактироватьКроме того, когда вы уменьшаете альфа, вы должны убедиться, что вы рисуете поверх фона, который будет эффективно просвечивать.Пожалуйста, дайте мне знать, если я рассмотрел вашу проблему или вам нужна дополнительная помощь (возможно, нам нужно больше кода).
Редактировать: Я думаю, что проблема в том, что у вас нет фона.Если вы уменьшите альфу и будете рисовать поверх черного, это только сделает вещи темнее.Другими словами (127, 255, 255, 255) сопоставимо с (255, 127, 127, 127).Я живая обои, поэтому я всегда работаю с холстами.вот как я что-то делаю:
c.drawBitmap (sBG, 0, 0, ноль);
c.drawBitmap (sSprite, mWidth / 2, mHeight / 2, ноль);
sBG - полный битовый образгейроглифики, которые показывают через мой «призрачный» спрайт (sSprite имеет альфа ~ 127).
Я просто наложил растровые изображения на холсте, и когда я рендерил холст, все хорошо.: -)
Редактировать: Уменьшение альфа обычно используется, чтобы позволить чему-то просвечивать сзади.Я думаю, вам нужно точно определить, что вы имеете в виду (математически) под «выцветанием цвета, чтобы оно выглядело немного прозрачным».Например, превращение красного в розовый означало бы смешивание в белом;это эквивалентно прозрачности с белым фоном (смешивание белого цвета - это то, как вы меняете насыщенные цвета на пастельные).Я предлагаю поэкспериментировать с GIMP или Photoshop (можно настроить альфа-слой), чтобы определить, какой эффект лучше всего будет отвечать вашим потребностям, а затем попытаться воспроизвести его в Android.
Редактировать: я подумал, что это может «побудить» васупомяните, что это сложные и, надеюсь, интересные вещи, с которыми вы сталкиваетесь.В компьютерной графике иногда приходится делать вещи, которые не обязательно интуитивны, чтобы достичь желаемого эффекта.Я буду утверждать, что убедительная прозрачность нетривиальна ... требует использования фоновых объектов, освещения и / или анимации.Я не знаю много об этом конкретном эффекте, но вот одна ссылка, которая вам может понравиться: http://www.neilblevins.com/cg_education/translucency/translucency.htm
Что-то, о чем я немного знаю, это создание металлических текстур.И в этом вся хитрость: вам почти всегда приходится использовать отражения.Это видео на YouTube является хорошей демонстрацией: http://www.youtube.com/watch?v=k6ZiRNkbWPw
Люди, которые действительно в этом заинтересованы, даже выбирают HDRi!Например, посмотрите на отражающую сферу здесь: http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/HDRi