Traitement images
Fred
Bonjour,

J'ai besoin d'effectuer des redimensionnements d'images sur des images de base assez grande (800*600).

Elles doivent être converties ensuite dans 3 format différents plus petit.

J'ai mis le sélecteur de fichier pour récuppérer le fichier image et un sélecteur répertoire pour le dossier de destination.

Par contre je ne trouve pas comment déclarer un objet image et pouvoir ensuite lui modifier sa taille...
Apparement ca ne serait possible que par les champs.

Si quelqu'un a une idée...

Fred

Contribution le : 03/03/2006 11:05
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
Utilisateur WDF
Inscrit:
06/02/2003 08:38
De Bourgogne
Post(s): 88
Bonjour,
il suffit de charger ton image selectionnée dans un champs image.
et appliquer la fonction suivante:


// Zoom du champ IMAGE1: on grossit 2 fois l'image (ou l'inverse) affichée dans le champ
Résultat est un booléen
Résultat = dRedimensionne(Image1, ...
Image1..Largeur * 2, ...
Image1..Hauteur *2))
SI Résultat = Faux ALORS Erreur("L'opération a échoué")


et en ensuite tu sauve ton image (dsauveImageXXX)

Cordialement,
JYM

Contribution le : 03/03/2006 12:04
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
fred
Oui mais justement on est obligé de passer par un champ image ?

Parce que si je veux enregistrer l'image au format 400*300, il faut que le champ fasse la meme taille...

(Certes on peut le mettre en invisible)

Contribution le : 03/03/2006 14:26
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images

Inscrit:
19/11/2002 12:20
Post(s): 390
A priori oui. Vous pouvez toujours mettre le champ image dans un autre plan, comme ça vous pourrez toujours le manipuler et il ne bavera pas sur autre chose (champs et autres).
Faites gaffe à un truc quand même, j'ai constaté avec Windev 8 (pas retenté depuis) que si le champ image lors d'un redimensionnement (quand il est vide bien sûr) dépasse la fenêtre, la couleur de fond passe au noir dans ce qui dépasse...

Sinon il vous reste des DLL ou passage de paramètres en ligne de commande (genre Imagemagik) ou ActiveX genre la série Ulead.

Contribution le : 07/03/2006 11:43
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Vous pouvez aussi utiliser les objets .NET

exemple de code:
en utilisant l'assemblage System.Drawing
PROCEDURE ResizeImage(ImgPathSource est une chaine,ImgPathDest est une chaine, NewWidth est un entier, NewHeight est un entier)

oImg est un Image dynamique           //Objet image
oGraphic est un Graphics dynamique    //Objet Graphique
oRect est un Rectangle dynamique      //Rectangle dans lequel on va dessiner
oNewImg est un Image dynamique        //Image redimensionnée

oImg = Image::FromFile(ImgPath)       //On charge l'image

oNewImg = new Bitmap(NewWidth, NewHeight)   //On créer une image vide à la bonne dimension
oGraphic = Graphics::FromImage(oNewImg)     //Creation d'un graphic qui contient l'image vide
oRect = new Rectangle(0,0,Newidth, NewHeight)  //Création d'une zone rectangulaire
oGraphic:DrawImage(oImg, oRect)   //Création du graphique avec les dimension voulues et l'image redimensionnée
oNewImg:Save(ImgPathDest)     //sauvegarde de l'image redimensionnée

//Libération des objets
oImg:Dispose()
oNewImg:Dispose()
oGraphic:Dispose()

Contribution le : 07/03/2006 14:51
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
Fred
Merci DrCharly je vais tester ton bout de code ce soir.

J'avais pensé à dotnet mais vu que je ne sais toujours pas affecter une variable a un string sous windev en utilisant le framework dotnet j'avais laissé tombé :)

// j'arrive a afficher la valeur d'une chaine
// en utilisant mscorlib
toto est "string"("test")
Info(toto:tostring())

mais impossible affecter une valeure après la déclaration de cette variable

g essayé
toto="hello word"
toto:tostring()="hello word"
..

J'ai lu vos articles sur .net mais ca serait hyper génial^^ de faire une équivalence des fonctions basiques en dotnet sous windev par rapport au wlanguage et a dotnet sous VB.Net
et apprendre a chercher dans le framework dotnet pour trouver les fonctions qu'a oublié PCSoft :p

Fred

Contribution le : 07/03/2006 15:59
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Fred,

Je ne vois pas vraiment l'intéret de chercher à faire des correspondance entre dotNet et le WLangage, par contre connaître ce genre de manipulation pour pouvoir l'utiliser dans le cas ou le Wlangage n'est pas orienté tel les objets systèmes, là c'est un avantage.
Ceci dit le langage dotnet a une approche bien plus sophistiqué certes mais bien plus compliqué à mettre en oeuvre

Compliqué dans le sens ou il faut avoir une bonne connaissance des assemblages et des objets pour pouvoir les manipuler entre eux.

Contribution le : 07/03/2006 18:33
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Traitement images
Anonyme
Bonjour,

Je suis réelement débutant en .Net mais je sais que certains objets du framework .Net me serait très utile pour des développements spécifiques. Pour autant je n'ai pas envie de reprogrammer sous .Net des programmes parce que 2% du code n'est pas faisable sous windev (meme si je peux certes appeller des DLL). Je trouve qu'écrire directement mes fonctions ou mes classes en .Net sous windev me permetterait de faciliter la mise à jour de mon code.
C'est dans c'est esprit que j'ai cherché a utiliser le framework .Net sous windev.
Comme dans tous les languages que j'ai appris j'ai cherché à faire un "hello word", mais j'ai été supris du peu de documentation obtenu et aujourd'hui je ne sais toujours pas affecter une valeure à une variable .net de type string.

Et apprendre que :
toto est une chaine devient toto est "string"("")
ou encore que info(toto) devient Info(toto:tostring())
ne me pas été chose facile ! C'est dans cet esprit que je te proposait de faire des correspondances, afin de faire partager tes connaissances dans ce domaine.

Après je suis d'accord avec toi, ca sert à rien de se servir de windev comme editeur .net...

Fred

Contribution le : 07/03/2006 20:16
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