Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Power Draw прозрачность   Найти похожие ветки 

 
D-Man   (2004-12-16 13:43) [0]

Такая проблема:
Хочу чтобы картинка рисовалась с прозрачным цветом фиолетовым, т.е. FFFF00FF.

Делаю так:
AGFImageList1.AddFromFile("test.bmp",256,256,256,256,D3DFMT_A1R5G5B5);
AGFImageList1.Images[0].TransparentColor := $FFFF00FF;
.....
PowerDraw1.TextureMap(AGFImageList1.Images[0], pBounds4(0,0,256,256), cColor1($FFFFFFFF), tPattern(0), effectSrcAlpha);

В результате она рисуется как есть, без прозрачности. Самое
интересное, что если задать TransparentColor любой кроме того в
котором красная компонента больше нуля, то все работает?! Я уже
голову сломал, но не понял почему так происходит.

Как сделать нормальную прозрачность для bmp?


 
dRake ©   (2004-12-16 19:18) [1]

>AGFImageList1.Images[0].TransparentColor := $FFFF00FF;
Может $FF00FF?


 
D-Man   (2004-12-16 19:27) [2]

И так и так одно и тоже. В первом случае первый байт отвечает за какую-то дополнительную инфу я только незнаю за какую именно и он вроде необязателен.


 
Dic   (2004-12-16 20:24) [3]

Возможно это глюк в PD, там их полно. Я лично испльзую только TGA, и возможностей больше и нет проблем.


 
Darth   (2004-12-16 20:34) [4]

Попробуй $00FF00FF;
Должно помочь.


 
D-Man   (2004-12-16 21:33) [5]


> Возможно это глюк в PD, там их полно. Я лично испльзую только
> TGA, и возможностей больше и нет проблем.

Только они к сожалению весят в два раза больше


> Попробуй $00FF00FF;
> Должно помочь.

Не помогает


 
dRake ©   (2004-12-16 21:34) [6]

2 D-Man

Четвертый байт отвечает за альфу - степень прозрачности.

2 Darth

$00FF00FF = $FF00FF


 
dRake ©   (2004-12-16 21:36) [7]

2 D-Man

На всякий случай проверь подключил ли ты PDrawEx.dll

А вообще забай на всякие там ImageList"ы
Юзай обычные массивы.

Image.LoadFromAlpha1Bit(D3DDevice, 256, 256, 256, 256, $FF00FF);


 
D-Man   (2004-12-16 22:16) [8]


> Image.LoadFromAlpha1Bit(D3DDevice, 256, 256, 256, 256, $FF00FF);

Это где такая функция?


 
dRake ©   (2004-12-16 22:27) [9]

Хз я под 2.41 сижу там такая есть :)

TAGFImage.LoadFromFileAlpha1bit


 
Darth   (2004-12-16 22:30) [10]

Вообще транспарентколор это что-то новое в ПД :)
Делай так:
AGFImageList1.Images[0].Set1bitAlpha($00FF00FF);

И все будет забибись.


 
Dic   (2004-12-16 23:27) [11]

TGA весит больше только в фйле. При загрузке в видеопамять нет никакой разницы между TGA и BMP (в твоём случае 16 бит на пиксель).
Да и по скорости рендеринга нет особых отличий. А все последние советы касаются только PD 2.41, в PD 3 этого нет.


 
D-Man   (2004-12-17 00:06) [12]

Вот черт! Придется все-таки tga стряпать наверно


 
Darth   (2004-12-17 00:37) [13]

Сколько памяти жрет картинка описывает формат. Если 16 бит, то явно меньше чем 32 :)



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
14-1109166287
Antonn
2005-02-23 16:44
2005.03.13
Как создать свой шрифт (*.ttf) ?


3-1107277551
UVV
2005-02-01 20:05
2005.03.13
DataSource.DataSet.IsEmpty


1-1109616049
_RusLAN
2005-02-28 21:40
2005.03.13
StringGrid + ListBox (в каждой ячейке)


6-1105438289
Senti
2005-01-11 13:11
2005.03.13
Передача файлов в отдельных потоках


1-1109627083
Мирон
2005-03-01 00:44
2005.03.13
Не хочет вызываться нужный конструктор класса