peut un format d'image bmp gérer la transparence
Je vais faire un programme C++ qui a des boutons, bouton de conteneurs, un chat, des boîtes, etc., et je tiens à les enrouler autour de par les textures.
Je veux générer un bord lisse pour tous les rectangles que j'ai fait, et je ne veux pas vertex méthode de traçage pour faire le travail pour elle, car, il consomme plus de CPU usage et pas que semble assez bon, et je ne sais pas si ça peut fonctionner avec des coordonnées de texture(c'est à dire glTexCoord(u, v) avec glVertex2f(x, y) w/c ne doit être 4 car il est un quad)
- Je utiliser pour charger des textures à l'aide SDL_LoadBMP() w/c est pas possible de charger un format de .bmp.(Je ne suis pas sûr parce qu'il dit seulement LoadBMP).
Donc mes questions sont:
- peut un .bmp format de gérer la transparence? si oui, comment le faire?
- pouvez-vous me montrer des exemples de code à l'aide de SOL de chargement de l'image de format .gif ou tout autres formats que l'on peut manipuler l'image de la transparence?
- peut un quad poignée irréguliers/polygones de forme comme de l'hexagone ou de l'étoile, sans le dessin de son contexte?
question supplémentaire
*comment importer une primitive de zone de texte qui rend grâce à c++, opengl, donc je peux copier les textes dans le presse-papiers? comme pour le chat de session dans mon programme.
J'ai fait ma propre bibliothèque qui attire le texte à l'aide GL_POINTS et ne semble pas bon lors du redimensionnement de la fenêtre parce que les points ont été dispersés. Il faut const char*
pour le texte afin d'éviter #include <*string*>
parce que je veux que mon programme ne dépend pas de fonctions de base de C++.
Donc, la meilleure solution est de les dessiner à l'aide de bitmaps.
Certains suggèrent de le dessiner à l'aide d'images donc j'ai vraiment besoin de la transparence chose parce que je le veux dessiner à l'aide de quad.
OriginalL'auteur mr5 | 2013-01-07
Vous devez vous connecter pour publier un commentaire.
Oui, le format de bitmap ne en faveur de la transparence.
Cela dépend de la méthode de compression par défaut
RGB
méthode prend en charge la couleur 24 bits, maisBITFIELDS
de compression prend en charge 32-bit color (24 bits + canal alpha).Vous pouvez en lire plus à http://en.wikipedia.org/wiki/BMP_file_format
Je l'utilise avec succès dans la Chaux projet, voici une mise en œuvre écrite en Haxe: https://github.com/openfl/lime/blob/4adb7d638d15612e2542ae3a0ef581a786d21183/src/lime/_internal/format/BMP.hx
OriginalL'auteur Joshua Granick
Cette réponse ne traite que de savoir si un fichier bmp peut gérer la transparence, et comment charger un fichier png en utilisant le SOL, et je pense que si vous regardez plus loin, par inférence, il vous montre comment charger un fichier gif aussi. Selon cet article de wikipédia, bmp est un type de fichier qui prend en charge la transparence par le biais d'un canal alpha. Mais selon cette AINSI l'article ce n'est pas. Dans ma propre expérience, je n'ai pas trouvé un moyen de faire de bmp transparence de travail. Donc, théoriquement, 32bit fichiers bmp sont censés favoriser la transparence, mais j'en doute. (Peut-être que je vais manger mes mots?)
Ok, à partir de la Le SOL du site web, ce code indique comment charger un fichier png gère la transparence:
aussi comment faire pour déterminer la taille de la mémoire tampon pour être passer sur le dernier paramètre de gluBuild2DMIPMaps ? J'ai vu certains de ceux qui, mais je n'ai pas l'idée qu'il n'y unsigned char* data = (unsigned char*) malloc(l * l * 4); et que les données sont à mettre sur le type void*(?) Je suis confus. J'ai aussi besoin de connaître toutes les exigences pour charger une image. thnx
OriginalL'auteur happy coder
BMP transparence est possible dans Photoshop, avec 24 bits de profondeur, au moins.
Il n'apparaît pas comme une option de "imwrite" dans Matlab.
OriginalL'auteur user1866080