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

API, COM et SDKs Delphi Discussion :

Retournement image jpg sans perte du header


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut Retournement image jpg sans perte du header
    Par ex, avec ce code qui consiste à effectuer un flip (retournement mirroir)
    je perd le header, hors j'ai besoin de le récupérer (avec nouvelles infos de dimensions si rotation) et l'inserrer dans jpg1...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Try MyBmp := TBitmap.create;
      Jpg1.loadfromfile(fichier); 
      MyBmp.Assign(jpg1);
      MyBmp.Canvas.StretchDraw(Rect(MyBmp.width-1, 0, -1, MyBmp.height), MyBmp) ;
      jpg1.Assign(MyBmp);
    Finally mybmp.free end;
    Jpg1.saveTofile(fichier);
    avez vous une suggestion ?

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 874
    Points : 11 363
    Points
    11 363
    Billets dans le blog
    6
    Par défaut
    qu'appelles-tu le header ?
    les infos exif ?
    si c'est le cas, il peut suffire de modifier le Tag Orientation : tu garderas l'image primitive, mais le viewer saura dans quel "sens" l'afficher

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    T'as essayé un appel a DIBNeeded, puis un assign vers un BMP, rotation et enfin un second assign vers le JPG original, suivit d'un JPEGNeeded ...

    Avec un peu de chance, les parametres du Jpeg restent inchangés.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    J'ai ressorti les fonds de tiroir (vieille QR jamais finalisée...).

    Une librairie permet apparemment les transformations JPEG sans pertes : http://xnview.com/fr/download_gfl.html et avec une interface Delphi.

    Ensuite, tu effectue une commande de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uses libgfl; 
    ... 
    gflJpegLosslessTransform(PChar(FichierJPG),GFL_LOSSLESS_TRANSFORM_ROTATE90);
    Reste juste à savoir si cela peut résoudre ton problème. Sinon, faudra lire l'entête EXIF existant, et remettre ces informations dans l'image finale. Ce qui n'est pas foncièrement évident, c'est un sacré sac de nœuds cet entête...

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 874
    Points : 11 363
    Points
    11 363
    Billets dans le blog
    6
    Par défaut
    yes, tu as aussi l'unité que j'ai écrite : http://www.phidels.com/php/index.php...ip.php3&id=616

Discussions similaires

  1. afficher image jpg sans les axes gradués
    Par Thib0ult dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 06/05/2015, 14h21
  2. Rotation d'image sans perte de qualité
    Par gunth dans le forum C#
    Réponses: 1
    Dernier message: 20/10/2010, 10h18
  3. [PHP 5.3] header image/jpg et Internet explorer
    Par grunk dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2009, 15h17
  4. Header et téléchargement d'image JPG
    Par Nyphel dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/03/2008, 16h20

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