IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Delphi et TMagickImage


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut Delphi et TMagickImage
    Bonjour,

    Un nouveau problème Delphi me guette.
    J'ai installé l'outil TMagickImage, j'ai pu remarquer qu'une unité Delphi "ImageMagickObject_TLB" est liée à ce programme après import du composant via l'interface Delphi.
    Mon but est de transformer une image .tif avec cet outil.
    J'ai trouvé un code sur le net et ai donc essayé de l'adapter à ma sauce, juste pour convertir une image.
    Avant ça, j'ai mis en place un .bat afin d'essayer voir si ça fonctionne.
    Mis à part qu'il n'aime pas les espaces dans le nom de l'image, ça se passe bien.
    J'ai essayé dans mon code, renommé le nom de l'image pour y enlever les espaces... mais quelque chose ne se passe pas bien.
    Je me permets de vous déposer mon bout de code, dans l'espoir de trouver un peu d'aide par ici !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
    im: TMagickImage;
    v: variant;
    begin
    ...
    if (ExtractFileExt(psFileName) = '.tif') then begin
         v := VarArrayCreate([0, 2], varVariant);
         v[0] := psFileName; 
         v[1] := ExtractFilePath(psFileName) +          ChangeFileExt(ExtractFileName(psFileName), '.png');
          im.Convert(PSafeArray(TVarData(v).VArray));
    end;
    Le problème c'est que je ne sais pas si j'utilise bien ou non ma variable variant. Pour moi, ce sont des paramètres à passer à la fonction 'convert' de l'outil TMAgickImage, donc en premier je passe le nom de mon image à convertir, et en deuxième, le chemin+nom de destination (qui reste le même mis à part l'extension).
    Mais voilà ça ne fonctionne pas.
    Je vous remercie d'avance pour votre aide !
    Manon

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 671
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v[1] := ChangeFileExt(psFileName, '.png');
    Simplification

    Tu crées un tableau de trois éléments, mais n'en remplis que deux. Il en manque pas un ? En regardant cet exemple, v[1] contient le type de transformation.

    Sinon, les conversions sont aussi possibles avec GDI+.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Salut Andnotor, et merci pour ta réponse rapide.
    C'est effectivement l'exemple sur lequel je me suis basée pour lancer ma conversion.
    Alors merci pour la simplification, effectivement, je me compliquais la vie avec mon changement d'extension, et ça marche tout aussi bien comme ça.
    Par contre, j'ai tenté deux tests, un en changeant la taille de mon tableau et en passant uniquement image entrante et image sortante : aucun résultat.
    Ensuite, j'ai rajouté, comme dans l'exemple, un paramètre intermédiaire contenant le type de transformation. J'y ai ajouté 'convert' ou '-convert', pareil, aucun résultat.
    Et pour la petite info, c'est mon chef qui m'a donné cette idée de travaille avec ImageMagick, je ne veux pas le décevoir en utilisant autre chose... .

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    C'est une erreur de ma part... Je m'excuse d'avoir posté ça pour rien...
    En effet, j'avais ouvert un TFileStream
    FS := TFileStream.Create(psFileName, fmOpenRead);
    avec mon image avant de lancer le convert du TMagickImage donc forcément ça ne pouvait pas passer.
    Mais pour info, avec juste le nom de l'image en entrée et le nom de l'image en sortie, la conversion s'effectue bien, pas besoin de paramètre supplémentaire.
    Encore désolée du dérangement !
    Manon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 21h09
  2. Réponses: 1
    Dernier message: 13/05/2002, 10h19
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 23h50
  4. Réponses: 4
    Dernier message: 27/03/2002, 12h03
  5. Réponses: 2
    Dernier message: 21/03/2002, 00h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo