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

Composants FMX Delphi Discussion :

Découpe d'image, différence entre deux fonctions


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut Découpe d'image, différence entre deux fonctions
    Bonjour,

    j'ai deux procédures ayant le même objectif : découper une image
    Nom : Capture.PNG
Affichages : 378
Taille : 191,6 Ko

    la première
    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
    procedure TForm1.BtnClipClick(Sender: TObject);
      procedure Decoupe(InBitmap, OutBitMap: TBitmap; Selection : TSelection);
      var bmps : TBitmap;
         iRect : TRect;
      begin
          Selection.HideSelection:=True;
          bmps:=Image1.MakeScreenshot;
          Selection1.HideSelection:=False;
          OutBitMap.Width := Trunc(Selection.Width);
          OutBitMap.Height := Trunc(Selection.Height);
          iRect.Left :=Trunc(Selection.Position.X);
          iRect.Top :=Trunc(Selection.Position.Y);
          iRect.Width := Trunc(Selection.Width);
          iRect.Height := Trunc(Selection.Height);
          OutBitMap.CopyFromBitmap(InBitMap, iRect, 0, 0 );
          bmps.Free;
      end;
    begin
    Decoupe(Image1.Bitmap,Image2.Bitmap,Selection1);
    end;
    Nom : Capture_1.PNG
Affichages : 307
Taille : 259,0 Ko


    la seconde
    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
    procedure TForm1.btncropClick(Sender: TObject);
    var bmps : TBitmap;
    begin
      Selection1.HideSelection:=True;
      bmps:=Image1.MakeScreenshot;
      Selection1.HideSelection:=False;
      DecoupeBitmap(Bmps,Image2.Bitmap,Trunc(Selection1.Position.X),Trunc(Selection1.Position.y),Trunc(Selection1.Width),Trunc(Selection1.Height));
      bmps.Free;
    end;
     
    procedure TForm1.DecoupeBitmap(InBitmap, OutBitMap: TBitmap; X, Y, W, H: integer);
    var
      iRect : TRect;
    begin
        OutBitMap.Width := W;
        OutBitMap.Height := H;
        iRect.Left :=X;
        iRect.Top :=Y;
        iRect.Width := W;
        iRect.Height := H;
        OutBitMap.CopyFromBitmap( InBitMap, iRect, 0, 0 );
    end;
    Nom : Capture_2.PNG
Affichages : 320
Taille : 274,0 Ko

    Pour moi, elles sont identiques, pourtant je n'obtiens le bon résultat qu'avec le second traitement
    Problème de lunettes ce matin ou bien ?

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    tu te trompes de bitmap source OutBitMap.CopyFromBitmap(InBitMap, iRect, 0, 0 ); vs DecoupeBitmap(Bmps,
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Merci Paul.

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

Discussions similaires

  1. Différence entre deux fonctions de hashage
    Par Hadock dans le forum SQL
    Réponses: 2
    Dernier message: 25/08/2018, 17h31
  2. Différence entre deux images
    Par ocean24 dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 09/01/2011, 02h03
  3. Calcul de différence entre deux images
    Par afef_master dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 23/09/2008, 15h33
  4. Différence entre deux fonctions
    Par camboui dans le forum C++
    Réponses: 13
    Dernier message: 17/06/2008, 14h12
  5. Différence entre deux images
    Par Mookie dans le forum 2D
    Réponses: 3
    Dernier message: 13/04/2006, 15h46

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