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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    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 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 934
    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
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre Expert
    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
    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 : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    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...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 934
    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
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

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