| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Полупрозрачный пиксель |
| Автор: Взюх 9.8.2007, 10:07 |
| Как задать рисуемому пикселю белый цвет и где-то 50% прозрачности? |
| Автор: SatanClaus 9.8.2007, 10:37 |
| Посмотри пост "Затемнение изображения". Там много полезного на эту тему валяется... |
| Автор: Взюх 9.8.2007, 21:29 |
| SatanClaus, Перечитал ……цать раз, я так понял что первые два числа после 0х.. и задают уровень прозрачности пикселя, но у меня не получается, заполненный прямоугольник, который я рисую все равно не прозрачный. |
| Автор: GhostMasterNet 10.8.2007, 10:02 | ||||
| Должно работать. Может быть ты ошибся при установке нужных пикселей? попробуй так:
где 0 < transValue < 255, ARGB_image - RGB-массив твоей картинки Методами fillXXX, drawXXX ( fillRect, например) рисовать прозрачные пиксели не получается. Но можно использовать drawRGB.
|
| Автор: SatanClaus 10.8.2007, 10:24 | ||
Попробуй что-то вроде этого:
При этом 0xFF - это маска, которая применяется для того чтобы не изменялись цвета RGB, а изменялась лишь ALPHA, ну и собственно pixel >> 1 (сдвиг вправо, если увеличиваешь ALPHA), pixel << 1 (если уменьшаешь)... Мне эта схема конечно же не подошла, я разбивал пиксель на компоненты R,G,B & Alpha. Потом изменял Alpha и снова собирал пиксель. Но мое затемнение так тупило (при том, что тестил я на SE K700), что мне пришлось отказаться от этой идеи. Тем более не все телефоны с MIDP2 будут правильно работать. А про MIDP1 вообще забудь. Добавлено через 57 секунд Image image1 = Image.createImage("/image.png"); Слэш забыл поставить... |
| Автор: Взюх 10.8.2007, 17:25 |
| GhostMasterNet, int[] rgbData = {0xffFFFFFF}; g.drawRGB(rgbData, 0, 1, 30, 30, 1, 1, true); рисует белым int[] rgbData = {0x00FFFFFF}; g.drawRGB(rgbData, 0, 1, 30, 30, 1, 1, true); судя по всему, там совсем все прозрачно (ничего нету) Мне тут подсказали, что прозрачным на 50% прямоугольник я средствами Явы не нарисую. Надо искать другие способы. |
| Автор: dorogoyIV 11.8.2007, 16:29 | ||
тебе неправильно подсказали. |
| Автор: darf 14.8.2007, 12:41 |
| Должны были подсказать: средствами MIDP1 не нарисуешь, а если в MIDP2, то запросто. |