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

Lazarus Pascal Discussion :

Utilisation Tcanvas, Timage


Sujet :

Lazarus Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Utilisation Tcanvas, Timage
    Bonjour,

    Je travaille sur un stretch "manuel". Mon code fonctionne mais j'aimerais obtenir le même résultat sans passer par les TImage dans les calculs intermédiaires.
    Sur la vignette, on distingue à droite le résultat obtenu... et à gauche les objets initiaux.
    Le but de l'opération ici est d'élargir Image1 en longueur sans en élargir les "bords" de 1 pixel. Si on utilise le stretch normal, les bords vont rapidement passer à 2, 3 pixels provoquant un effet peu esthétique. Ici je regarde simplement la faisabilité sur un stretch horizontal, l"opération étant reconduite pour la partie verticale. Je n'ai peut-être pas besoin de préciser que les fonctions associées aux TRect et autres TCanvas me sont plutôt étrangères... Si quelqu'un a une doc exhaustive la-dessus avec les "bonnes" bibliothèques qui s'y attachent (y compris compatibles Linux), je suis preneur.

    Le code est celui-ci :
    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
    39
    40
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
     
      {Image 1 -> lRect de 0 à Image1.Width div 2
                 rRect de Image1.Width div 2 à Image1.Width;
                 mRect de Image1.Width div 2 à (Image1.Width div 2) +1}
      mRect, rRect, lRect : TRect;
     {Image 2 -> dRect : Rectangle de destination
                 lPos, rPos : Positionnement des rect. copiés}
      dRect : TRect;
      lPos, rPos, i : Integer;
     
    begin
     
      with Image1.canvas do begin
        lRect:=Rect(0, 0,Image1.Width div 2,Image1.Height);
        CopyRect(lRect, Image1.Canvas, lRect);
        rRect := Rect(Image1.Width div 2,0,Image1.Width,Image1.Height);
        CopyRect(rRect, Image1.Canvas, rRect);
        mRect:=Rect(Image1.Width div 2,0,(Image1.Width div 2) +1,Image1.Height);
        CopyRect(mRect, Image1.Canvas, mRect);
      end;
     
      with Image2.canvas do begin
        {détermination des bornes des zones dans Image2}
        rPos := Image2.Width - (Image1.Width div 2);
        lPos := Image1.Width div 2;
     
        dRect := Rect(0,0,Image1.Width div 2,Image1.Height);
        CopyRect(dRect, Image1.Canvas,lRect);
     
        for i := lPos  to rPos -1  do begin
          dRect := Rect(i, 0, i+1, Image1.Height);
          CopyRect(dRect, Image1.Canvas, mRect);
        end;
     
        dRect := Rect(rPos,0,Image2.Width,Image1.Height);
        CopyRect(dRect, Image1.Canvas, rRect);
      end;
    end;
    Le problème c'est que je voudrais me débarasser des TImage pour ne garder que des TCanvas et des TRect. Je garderais Image1 et Image2 comme point de départ et d'arrivée... Je me suis dit dans un premier temps que c'était simple en créant srcCanvas pour arriver à dstCanvas... Et là, je bugge : il y a toujours quelque chose qui n'est pas défini ou qui n'est pas du bon type.

    Un petit coup de main SVP...
    Merci. A+
    Images attachées Images attachées  
    Dernière modification par Invité ; 02/12/2012 à 12h36.

Discussions similaires

  1. graphe en utilisant un StringGrid et un TImage
    Par blondelle dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/07/2006, 20h14
  2. probleme d'utilisation du TImage
    Par Mickey.jet dans le forum Delphi
    Réponses: 6
    Dernier message: 12/06/2006, 15h37
  3. Réponses: 12
    Dernier message: 05/05/2006, 09h29
  4. Dimensions du Tcanvas d'un TImage
    Par qi130 dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 09h26
  5. Comment utiliser un array of TImage ?
    Par poussinphp dans le forum Langage
    Réponses: 23
    Dernier message: 19/09/2005, 09h24

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