Graphin: render PNG image
От: Dan_Mor  
Дата: 28.04.09 16:13
Оценка:
Здравствуйте!

Обьясните пожалуйста, почему если я загружаю JPG картинку, я могу свободно использовать graphics_blit_image и graphics_draw_image.
А когда я загружаю PNG картинку, то при graphics_blit_image получаеться тот же эффект, что и с JPG: картинка нормально отображаеться, а вот при вызове graphics_draw_image (с теми же параметрами что и для JPG) не происходит ничего, и не рисует картинку!

Есть ли способ растягивать/поворачивать PNG картинку в graphin?

Спасибо!
Re: Graphin: render PNG image
От: Аноним  
Дата: 30.04.09 08:33
Оценка:
Посмотрите еще: вот я сделал картинку PNG в Photoshop с прозрачными частями.
С помощью graphics_draw_image рисую эту картинку в graphin и в результате отобрається все наоборот:
прозрачные части картинки непрозрачны, а непрозрачные прозрачны.
Re[2]: Graphin: render PNG image
От: Аноним  
Дата: 30.04.09 10:59
Оценка:
Сам исправил ситуацтю:

закоментировал строчки
/* [Dan Mor: i comment this because PNG was loaded with inverted alpha]

int rowBytes = png_get_rowbytes(png_ptr, info_ptr);
int bpp = rowBytes / width;

if( bpp == 3 )
png_set_add_alpha(png_ptr,0xff,1);
else
png_set_invert_alpha(png_ptr);*/

в функции int DecodePNGImage(ImageCtor* pctor, void* pctorPrm, unsigned char* src, unsigned int srclength)

в файле \graphin\src\imageio.cpp

и теперь вроде работает нормально :DD
Re[3]: Graphin: render PNG image
От: c-smile Канада http://terrainformatica.com
Дата: 08.05.09 16:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сам исправил ситуацтю:


А>закоментировал строчки

А> /* [Dan Mor: i comment this because PNG was loaded with inverted alpha]

А> int rowBytes = png_get_rowbytes(png_ptr, info_ptr);

А> int bpp = rowBytes / width;

А> if( bpp == 3 )

А> png_set_add_alpha(png_ptr,0xff,1);
А> else
А> png_set_invert_alpha(png_ptr);*/

А>в функции int DecodePNGImage(ImageCtor* pctor, void* pctorPrm, unsigned char* src, unsigned int srclength)


А>в файле \graphin\src\imageio.cpp


А>и теперь вроде работает нормально :DD


Ага, спасибо. Поправлю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.