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

 Delphi Discussion :

Sauvegarde après un Resize


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 599
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 599
    Par défaut Sauvegarde après un Resize
    Bonjour à toutes et à tous,

    Voici mon petit problème, je dispose d'un TImage avec déjà un fond de couleur qui est créé par une autre fiche.

    Avec cette image je dois lui appliquer un resize avant de la sauver en *.Jpg.

    J'obtiens bien ma sauvegarde mais pas avec le resize.

    Voici le code que j'ai testé de toutes les manières possibles !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    procedure TmainModiffond.bcopierClick(Sender: TObject);
    var
      ds : string;
     
     BMP : Tbitmap;
     
    begin
     
     ds:= edirectory.text;
     
     if not DirectoryExists(ds) then ForceDirectories(ds);
     
        BMP := Tbitmap.create;
     
        BMP.width := sp1.value; //TSpinedit
        BMP.height := sp2.value;
        BMP.pixelformat := pf24bit;
     
       SetStretchBltMode(BMP.Canvas.Handle,HALFTONE);
     
       BMP.Canvas.StretchDraw(Rect(0,0,sp1.value,sp2.value),BMP);
     
      with TJPEGImage.Create do
      try
      CompressionQuality  := 80; 
     
      ProgressiveEncoding := True; 
     
      Assign(image1.picture.bitmap);
     
      SaveToFile(ds+'\test.jpg');
     
      finally
      Free;
      BMP.Free;
      end;
     
      end;
    Merci encore de votre attention,

    @+,

    Cincap

  2. #2
    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
    Citation Envoyé par cincap Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       BMP.Canvas.StretchDraw(Rect(0,0,sp1.value,sp2.value),BMP);
    Tu copie le BMP sur lui meme ... je ne suis pas sur qu'il apprecie beaucoup

    Pour ma part je passerais par un bitmap temporaire qui contiendrais la copie retaillé de ton bitmap original.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 599
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 599
    Par défaut Tu as vu juste !
    Merci à toi Clorish, tu as vu juste, j'ai corrigé en mettant 'image.picture.bitmap' à la place de 'bmp' et cela fonctionne.

    Bonne journée.

    @+,

    Cincap

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

Discussions similaires

  1. [XL-MAC 2011] Plantage lors d'une sauvegarde apres sheets().delete
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/09/2013, 21h30
  2. Pointeur sur std::vector casser après un resize()
    Par jerem3000 dans le forum Langage
    Réponses: 3
    Dernier message: 20/01/2012, 00h30
  3. [WS 2003] NtBackup : erreur de sauvegarde après 4h30
    Par Arnard dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 29/10/2010, 16h30
  4. Sauvegarde apres impression form
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/10/2008, 02h20
  5. canvas devient visible qu'apres un resize?
    Par manutudescends dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 01/03/2006, 13h50

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