XFree , comment utiliser les pixmap (chargement) ?

XFree , comment utiliser les pixmap (chargement) ? - C++ - Programmation

Marsh Posté le 02-04-2003 à 10:13:34    

Salut,
 
J essaie en vain de charger une pixmap avec la fonction  
 

Code :
  1. XCreatePixmapFromBitmapData


 
mais a chaque fois il me renvoie une erreur . Mon image se trouve dans un png que je charge dans un char * , ensuite je transmets ce flot de donnees a la fonction mais ca ne fonctionne pas. Dans la doc apparemment ils utilisent des images XBM mais ca ne m'interesse pas. Y a t il un moyen de creer des pixmap a partir d autre chose ?
 
PS : je precise je suis en 65536 c /16 bits
 
 
merci

Reply

Marsh Posté le 02-04-2003 à 10:13:34   

Reply

Marsh Posté le 02-04-2003 à 17:35:10    

xilebo a écrit :

Salut,
 
J essaie en vain de charger une pixmap avec la fonction  
 

Code :
  1. XCreatePixmapFromBitmapData


 
mais a chaque fois il me renvoie une erreur . Mon image se trouve dans un png que je charge dans un char * , ensuite je transmets ce flot de donnees a la fonction mais ca ne fonctionne pas. Dans la doc apparemment ils utilisent des images XBM mais ca ne m'interesse pas. Y a t il un moyen de creer des pixmap a partir d autre chose ?
 
PS : je precise je suis en 65536 c /16 bits
 
 
merci


 
 
convert toto.png toto.xpm, XCreatePixmapFromData(le_fichier_xpm)
 
Les xbm c'est en N&B, xpm c'est en couleur (stocké sous forme de fichiers texte au format tout couillon)
 
Si tu veux pouvoir charger directement des png, il faut utiliser un librairie plus évoluée que la libXpm

Reply

Marsh Posté le 03-04-2003 à 00:51:02    

j arrive a charger les png y a pas de pb ... j ai la lib et j utilise actuellement pour afficher mes images  l'objet XImage et la fonction XPutImage.... mais avec celle ci je ne peux pas faire de transparence.. Il faut utiliser les pixmap ( 1 pixmap pour l image et une pour le masque et on cree un GC avec la pixmap mask avec l option clipping mask et c ok) mais j arrive pas a charger ma pixmap :-(
 
 
 

Reply

Marsh Posté le 04-04-2003 à 03:13:35    

xilebo a écrit :

j arrive a charger les png y a pas de pb ... j ai la lib et j utilise actuellement pour afficher mes images  l'objet XImage et la fonction XPutImage.... mais avec celle ci je ne peux pas faire de transparence.. Il faut utiliser les pixmap ( 1 pixmap pour l image et une pour le masque et on cree un GC avec la pixmap mask avec l option clipping mask et c ok) mais j arrive pas a charger ma pixmap :-(


 
ah oui j'avais mal compris ..
ben le plus simple est ptet d'utiliser  

Code :
  1. Pixmap XCreateBitmapFromData(display, d, data, width, height)
  2.              Display *display;
  3.              Drawable d;
  4.              char *data;
  5.              unsigned int width, height;

 
avec data qui est le tableau de bits (i.e. chaque char compte pour 8 pixels). Comme ça t'es sûr de pas avoir d'erreur de parsage d'un XBM en texte.

Reply

Marsh Posté le 04-04-2003 à 20:31:31    

de tête en X11, j'utilisais des XReadBitmapFile pour charger une xbm et des XCopyPlane pour les afficher dans un display.

Reply

Marsh Posté le 06-04-2003 à 21:23:12    

hum ... je ne peux vraiment pas utiliser du XBM car c trop gros sur le disque ....
 
 
J arrive sans pb a charger mes png (en gros j ai un pointeur char * contenant mes datas) , et a les afficher a l ecran( XImage -> XPutImage() ) . Mais je voudrais optimiser mon moteur graphique (qui est ma foi lent) en utilisant des Pixmap (adapté pour les sprites ) et non des XImage (trop lourd et ne gere pas la transparence) .
 
Par contre apparemment on ne peut pas faire de pixmap de 16 bits et  (on dira ce qu on veut) la lib X est TRES mal documenté (pas d exemple etc ...)
 
merci en tout cas ! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed