Главная страница
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.336 c
14-1108885148
__max__
2005-02-20 10:39
2005.03.13
Шифрование файлов в ф.с. NTFS


3-1108376033
Jel
2005-02-14 13:13
2005.03.13
Ошибка "Field value required" при выполнении INSERT


3-1108199545
Bogdan
2005-02-12 12:12
2005.03.13
Ошибка при запросе


1-1109755597
pkm
2005-03-02 12:26
2005.03.13
Как с помощью Delphi в Excel е закрасить ячейку в серый цвет.


3-1108198090
Troiki
2005-02-12 11:48
2005.03.13
Ошибка ADOQuery