Redimensionner une Images BMP
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
J'aurais besoin de redimensionner une image BMP (ou autre) par programmation. En fait je charge un clone avec une image selectionnée, et j'aimerais que l'image se redimensionne 'toute seule'...
Voila donc si qq un a déjà eu quelque chose de similaire à faire...

Merci d'avance !

Contribution le : 08/06/2004 16:59
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
DSI WDF
Inscrit:
05/05/2004 13:46
Post(s): 314
La fonction dCopieImage() permet à partir d'un champ image source de cloner l'image dans un champ image destination tout en paramétrant la hauteur et la largeur de celle-ci...
En espérant que cela correspond à tes attentes

Contribution le : 09/06/2004 09:10
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
Pas top, ...
Mon but est de trouver la taille de l'image BMP lors de son ouverture, en fait, j'ajoute des images sur un 'poste de travail' celles ci peuvent venir de fichier BMP, ou ce sont des images que je dessine (avec les fonctions dDessin...) pour ces dernieres, je connais leur taille donc pas de problemes pour l'affichage. Mais pour les images BMP, il faudrait lire l'entete...
Donc ma question, est, est-ce que quelqu'un aurais déjà fait quelque chose de similaire, afin de pouvoir gagner du temps, et pouvoir aussi l'appliquer à d'autres type de fichier bitmap...
Voila merci encore
PS : Merci pour dCopieImage() elle me servira pour autre choses !! Cool !

Contribution le : 09/06/2004 09:50
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Pour connaitre les infos sur une image utiliser la fonction InfoBitmap()

exemple d'utilisation:
sInfoImage, sFormat sont des chaînes
nHauteur, nLargeur sont des entiers
// Récupération des caractéristiques de l'image
sInfoImage = InfoBitmap("C:\Windows\PLUME.BMP")
sFormat = ExtraitChaîne(sInfoImage, 1)
nLargeur = Val(ExtraitChaîne(sInfoImage, 2))
nHauteur = Val(ExtraitChaîne(sInfoImage, 3))
// Affichage des caractéristiques
Info("Format de l'image : " + sFormat, "Largeur : " + nLargeur,...
     "Hauteur : " + nHauteur)



Contribution le : 09/06/2004 12:27
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Anonyme
GRAND Merci !!

Et désolé de ne pas l'avoir vu dans l'aide de Windev...
Je vais de ce pas me flageller !! Aïe, Aïe, ouille !

Contribution le : 09/06/2004 12:57
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Stagiaire WDF
Inscrit:
12/06/2005 12:54
Post(s): 1

Bonjour,

Votre sujet m'interesse :

Je cherche également à redimensionner une image.
Les outils comme dredimensionne ou dcopieimage ne permettent pas d'avoir une bonne qualité d'image après la redimension même lorsqu'il s'agit de diminuer une image.

Ceci est possible puisque d'autre logiciels le font dans de très bonnes conditions.

En ce sens, connaitriez-vous un source WLanguage, Java ou tout autre programme adressable en ligne de commande pour l'intégrer dans une application Windev, qui permette le redimensionnement d'une image sans altérer grossièrement celle-ci ?

Je pense qu'il doit être possible de faire cela en API également, mais en tout état de cause je ne connais pas un bon alogorithme qui le fasse...

Merci de votre aide

Cordialement
Didier

Contribution le : 12/06/2005 12:59
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Bonjour,

Pour manipuler les images ( rotations, niveaux de gris, redimensionnement, conversions, infos EXIF des images numériques ) lorsque Windev ne sait pas faire, il est possible d'utiliser des programmes DOS.

Ces programmes s'appellent JPEGTRAN, NCONVERT et JHEAD
Ce sont des programmes dont les phases exécutables de faible volume sont simplement à copier dans le répertoire de travail de l'application qui les utilise.

Pour extraire les infos EXIF : utiliser JHEAD à récupérer sur le site suivant :
http://www.sentex.net/~mwandel/jhead/
Sélectionner le module : Pre-built Windows executable jhead.exe
Les commandes paramétrables sont ici :
http://www.sentex.net/~mwandel/jhead/usage.html

Pour les niveaux de gris et les rotations de fichiers JPEG sans perte des informations EXIF utiliser le programme JPEGTRAN à récupérer sur le site suivant :
http://membres.lycos.fr/photocanon/konica/liens.htm
Pour télécharger rechercher dans la page la ligne :
Télécharger Jpegtran sur le site FTP de ULead ou sur SimTel.
Les commandes paramétrables sont ici :
http://linux.about.com/library/cmd/blcmdl1_jpegtran.htm

Pour les conversions d'images y compris des formats non utilisés par Windev utiliser NCONVERT à récupérer sur le site suivant :
http://www.xnview.com/
Dans la colonne gauche, sous NCONVERT cliquer sur Telecharger,
Puis au bas de la nouvelle page ...
Téléchargement direct pour Windows
Cliquez ci-dessous pour télécharger
la dernière version de NConvert pour
Windows
Cliquer sur Télécharger !
Les commandes sont à récupérer dans les fichiers .TXT qui sont aussi dans le fichier téléchargé

---------- OBSERVATIONS --------------------

Ces programmes sont très puissants il sont tous utilisables de la même façon c'est à dire :
Créer un fichier .BAT contenant la commande du programme
Lancer l'exécution du fichier .BAT avec LanceAppli
Pour obtenir la vitesse maxi du DOS ne pas iconiser l'application, mais plutot cacher la fenêtre MSDOS en mettant la fenêtre appelante de la procédure audessus.tout

Voici un exemple d'utilisation avec JHEAD pour son utilisation sous Windev pour éditer les infos EXIF

PrgLance est une chaîne  // contiendra la ligne commande DOS 
WInfosExif est une chaine 

SI PAS LNomImage = "" ALORS 
    Sablier(Vrai) 
// cette ligne commande constitue le fichier IMGEXIF.TXT 
// qui contiendra le texte des informations 
// nota : sous W98 il faut utiliser CLS au lieu de EXIT 
// pour fermer la fenêtre MS-DOS 
    PrgLance = "jhead.exe " + LNomImage + " >"+ fRepEnCours() + "\IMGEXIF.TXT" 
+ RC + "CLS" 
// il faut constituer un fichier .bat qui servira à lancer 
// la commande DOS 
    fSauveTexte("AFFEXIF.BAT",PrgLance) 
// il faut cacher la fenêtre DOS sous la fenêtre Windev 
// appelante car exeIconise ralentit la vitesse de fermeture 
// de la fenêtre MS-DOS     
    FenEtat("MaFenetreApelante",DessusTout) 
// ne pas utiliser exeIconise mais exeActif 
    LanceAppli("AFFEXIF.BAT",exeActif,Vrai) 
// restitue le niveau d'affichage de la fenêtre appelante 
    FenEtat("MaFenetreAppelante",Normal) 
        WInfosExif = FChargeTexte(fRepEnCours() + "\IMGEXIF.TXT") 
    Sablier(Faux) 
        Info(WInfosExif) 
SINON 
    Erreur("Aucune image n'est presente") 
FIN 


--------------------------------

autre exemple pour passer un image en gamme de gris avec JPEGTRAN

SI PAS WImageATourner = "" ALORS 
   Sablier(Vrai) 
   PrgLance = "jpegtran.exe -grayscale -optimize -trim -copy all " + WImageATourner + " " + WImageResultat + RC + "CLS" 
   fSauveTexte("ROTATCLS.BAT",PrgLance) 
   FenEtat("FenetreEnCours",DessusTout) 
   LanceAppli("ROTATCLS.BAT",exeActif,Vrai) 
   fCopieFichier(WImageResultat, WImageConservee) 
   FenEtat("FenetreEnCours",Normal) 
   WImageAffichee = WImageResultat 
   Sablier(Faux) 
SINON 
   Erreur("Aucune image n'est presente") 
FIN 


--------------------------------------------------------
Autre exemple avec NCONVERT pour redimensionner une image en conservant le ratio Hauteur/Largeur

// nconvert -out jpeg -ratio -resize 480 0 *.jpg   
WRedParametre = "" 
SI WRedRatio = Vrai ALORS WRedParametre =  WRedParametre +" -ratio "   
WRedParametre = WRedParametre + " -resize " + WRedLargeur + " " + WRedHauteur 
WRedParametre = WRedParametre + " -rtype " + WRedMethode + " " 
SI PAS WImageATourner = "" ALORS 
   Sablier(Vrai) 
   // avec nconvert l'image traitée est directement celle donnée à traiter   
   PrgLance = "nconvert.exe " + WRedParametre + " " + WImageConservee + RC + "CLS" 
   fSauveTexte("ROTATCLS.BAT",PrgLance) 
   FenEtat("Recherche de fichiers",DessusTout) 
   LanceAppli("ROTATCLS.BAT",exeActif,Vrai) 
   FenEtat("Recherche de fichiers",Normal) 
   WImageAffichee = WImageConservee 
   Sablier(Faux) 
SINON 
   Erreur("Aucune image n'est presente") 
FIN 


---------------------

Cordialement


Contribution le : 14/06/2005 14:43
Créer un fichier PDF de la contribution Imprimer


Re: Redimensionner une Images BMP
Anonyme




Citation :

aaaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaaaaaaa

Contribution le : 16/06/2005 17:47
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2