Impossible, tu ne peux pas modifier la taille d'une image. Elle est forcément blittée à sa taille originelle.
Ben..; Non...
Tu utilise un SDL_RECT pour récupèrer la zone de l'image qu'il te plait?
Pr contre, si tu veut redimensioner, vas faloir ecrire un petit algorithme.(A moin que SDL dispose d'une fonction...)
Un truc simple a ecrire : Suprimer 1pxSur deux. Il faudras alors faire une nouvelle surface de 1/2surface->w et 1/2surface->h. En suite, tu copie juste les bons pixels. Tu peut ensuite adapter pour effectuer la copie en fonction d'une variable, par la quel tu multiplie la taille de l'image.
MultX*texture->w par exemple, et en réutilisan multX dans la copie, pour parcourir l'image par bon. Donc si multX vaut 1/2, on auras une diminution de 1/2 de la largeur.
Je veut bien redimensionner l'image. Quelqu'un saurais s'il y a une fonction dans sdl pour ça ?
Sinon pour l'agorythme, comment on fait pour récupérer les pixel et donc pour les modifier ?
J'ai!
Je suis en train d'écrire une chtite class pour encapsuler les SDL_Surface(SDL_Texture : c++ -> Objet)
Donc, si tu veut, je te passe la lib (Compiler si tu veut). Le code c'est :
SDL_Texture Texture(MaSurface);
Texture->resize(largeur, hauteur);
Ou :
Texture->homothetie(coeflargeur, coefhauteur);
Attention, l'ors de la destruction de SDL_Texture, la surface est elle aussi détruite. Il faut donc la libèrer :
Texture = NULL;
[Surcharge de operator= ^^)
Sinon, pour accèder a la surface : *Texture ou **Texture pour les objets dynamic.
Nb : Il y a d'autres fonctions simpas, style aplifonctor, fusion, surcharge du constructeur, constructeur par recopie(fait un double de la surface)...
C'est oti qui la programmé ou tu l'as trouver ?
Dans tous les cas je la veut bien
Et merci.
Pour information de pouvoir "redimensionner" les images va me permettre d'intégrer des images dans mon jeu de stratégie( voir mon site pour plus d'info ) ou on peu zoomer
Programmer pour mon futur MMORPG 2D. Je n'ai aps encore mit la rotation, et le foncteur de génération de texture a base de cercle a quelques raters...(Je cherche une solution sur developpez.com)
Voici un lien pour le rar : http://t4cwebserver.free.fr/SDL_Texture.rar
1. Oui, cette lib utilise SDL, donc elle est sous license GPL, elle est donc libre d'utilisation
2. Ben enfaite je n'ai pas du tout terminer, donc j'ai même pas pensser a rajouter mon nom dans le .h. Si tu veut tu peut le rajouter dnas le .h, mais il n'est pas néssésaire de me citer dans ton code.
Sinon, je l'ai recompiler juste avent de ziper, tu n'a donc pas besoin de recompiler. Si tu veut je te donerais la prochaine vertion, quand j'aurais ajouter Rotate90Trig et Rotate90Atrig[Rotation de 90° dans le sens trigonométrique/sans inverce) et implementer la sauvegarde/blit.
Je m'attendais a cetet question
Alors, si tu a code::block :
Tu vas dans project/Build Options
Tu vas dans Linker, tu clic sur ADD et la tu entre "SDL_Texture". En suite, dans Directories/Compiler, c'est add avec "lechemin/Vers/l'archivr=e décomprèsser\". Tu fait de même avec Directories Linker.
En gros, libSDL_Texture.a seras ajouter au linkage, et le rajout du repertoire dnas la rubrique compiler te permet d'entrer au début de ton fichier #include <SDL_Texture.h>
[c/c++]sdl: choisir la taille d'affichage des images
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
If you'd like to join us, read "How do we work at OpenClassrooms"! :)