Slt tlm, je cherche un moyen de rétrécir/agrandir une image(bmp,png,jpg..).
Je n'ai pas trouvé de librairie qui permetté de faire ca.
merci
Slt tlm, je cherche un moyen de rétrécir/agrandir une image(bmp,png,jpg..).
Je n'ai pas trouvé de librairie qui permetté de faire ca.
merci
Voir la FAQ SDL pour ce genre de question...
Aller, je suis un prince aujourd'hui :
http://jeux.developpez.com/faq/sdl/?...ransformations
Jc
[EDIT] Je rajouterais que si tout ce que tu veux est agrandir/rétrécir des images
Python fait le travail très bien et je crois qu'il gére tous les formats que tu as cité... Je me suis fait un script un jour qui rétrécissait toutes les images d'un répertoire... C'est sur mon ordi à la maison par contre donc si ça t'intéresse, faudra attendre!
[/EDIT]
J'avais deja regardé la FAQ, est j'avais utilisée la lib SDL_gfx, mais ca ne fait que des zoom. Ca ne rétréci ou agrandi pas l'image. Et la lib SGE, je ne sais pas queele méthode utilisé
Reprenons le problème depuis le début, tu veux faire quoi:
- Faire un zoom d'une image et l'afficher à l'écran?
- Rétrécir/Agrandir une image donc écraser l'ancien fichier avec un nouvea plus petit/grand?
Le premier: SDL le fait bien avec SDL_gfx
Le 2ème: regarde du côté de Python, il le fait bien aussi...
Jc
je veux rétrécir/agrandir l'image, mais sans l'écraser, faire l'effet miniature de windows et je programme en c/c++ , python je connait pas trop
Bon...
Je vais tâcher de répondre...
Si tu veux créer (et donc pas afficher) un fichier miniature alors tu vas devoir passer et si tu dois le faire en C/C++, tu dois :
- Le faire à la main et donc te taper le codage de chaque type de fichier si tu veux respecter le type du fichier ou alors décider que la miniature sera seulement en TGA ou en BMP par exemple...
- Soit utiliser des bibliothèques spécialiser genre libpng par exemple pour les png...
Juste parce que tu ne connais pas python ne veut pas dire qu'il ne faudrait pas l'utiliser, comme dit c'est le plus facile que je connaisse pour ce genre de problème...
Si tu veux afficher une miniature/agrandissement d'une image, alors SDL_gfx fait parfaitement bien l'affaire. De plus, si tu as déjà une fenêtre SDL, tu pourrait ouvrir le fichier avec SDL_image, rétrécir/Agrandire avec SDL_gfx et écrire le résultat dans un fichier image tga/bmp par exemple...
Si jamais je n'ai toujours pas expliquer ce que tu pourrais faire, commence par expliquer un peu plus en détail ce que tu veux faire exactement...
Jc
Comment fait-on pour avoir une miniature/agrandissement d'une image avec SDL_gfx??? Car je n'arrive qu'a faire des zooms
il disait une miniature dans le sens d'un "dezoomage" et un agrandissement dans le sens "zoomer".
Ensuite moi non plus je n'ai toujours pas très bien compris ce que tu cherches à faire exactement.
1 - construire une nouvelle image plus petite.
2 - seulement faire un affichage de ton image en plus petit.
*pour le cas 1 :
- Python est très bien (et tu peux le coupler avec sdl facilement, va voir sur ton ami google). De plus si tu sais déjà faire du C/C++ python ne te posera pas de probleme (j'avais du l'apprendre en 3 mois lors de ma première année à la fac alors que la plupart des étudiant n'y connaissaient absolumment rien en info...).
- si python te fait toujours horreur, ça va être beaucoup moins simple... il y a beaucoup de solutions donc je te alisse y reflechir, si tu n'as pas d'idée je pourrais te montrer un chemin.
* pour le cas 2 :
- SDL_gfx suffit largement.
Désolée si je me suis mal expliquée, je vais recommencé. Je voudrais affiché en plus petit une image. ex : image qui fait 1024*780, je voudrais l' affiché en 64*64.
J'ai regardé la lib SDL_gfx mais je n'arrive qu'a faire des zoom avec.
Donc tu voudrais juste afficher, et non creer une nouvelle image c'est bien ça ?
dans ce cas faire un dezoomage suffit non ? (tu n'arrives pas à faire ça ?)
Mais normalement dans SDL_gfx y'a des fonctions de la famille rotozoom qui sait faire ca très bien.
Ca y 'est j'ai trouvé , enfaite je me servais de la bonne méthode, mais je passait pas les bons parametres.
Pour ceux que ca interesse :
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SDL_Surface *img; img=IMG_Load(filepicture); //charge l'image img=zoomSurface(img,double(width)/img>w,double(height)/img>h,1); // redimensionne l'image SDL_BlitSurface(img, NULL, Screen , NULL); // affiche l'image
Donc c'est bien ce qu'on disait
Merci de penser au bouton résolu qui se trouve dans le menu "Outils de la discussion"
Jc
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager