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 :

Delphi7 - Graphics32 - Comment charger plusieurs Jpeg et du texte dans un TImgView32


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Points : 29
    Points
    29
    Par défaut Delphi7 - Graphics32 - Comment charger plusieurs Jpeg et du texte dans un TImgView32
    Bonjour,

    Ci-dessous un bout de programme pour charger plusieurs Jpeg et du texte dans un TImage classique
    en passant par l'intermédiaire d'un Graph pour y stocker les différentes images à cumuler sur ce TImage.

    Afin d'utiliser les puissantes fonctions de Graphics32 comment s'y prendre pour transposer
    le même traitement en utilisant le composant TImgView32 à la place du TImage sachant que
    TGraph, TCanvas n'y sont pas définis.

    Merci

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    unit DessinerEtEcrire;
     
    interface
     
     
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Jpeg, ExtCtrls, Menus;
     
    type
      TForm1 = class(TForm)
        MainMenu1: TMainMenu;
        MnFichier: TMenuItem;
        MnOuvrir: TMenuItem;
        Panel2: TPanel;
        ScrollBox1: TScrollBox;
        Image1: TImage;
        procedure FormPaint(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        Graph: TBitmap;
      public
        { Déclarations publiques }
        procedure ChargementJPEGversBMP(FichierEntree :string; H,W : integer);
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.DFM}
     
    procedure TForm1.ChargementJPEGversBMP(FichierEntree : string; H,W : integer);
     var ImageJPEG : TJPEGImage;
         ImageBitmap : TBitmap;
      begin
        ImageJPEG := TJPEGImage.Create;
        try
          ImageJPEG.LoadFromFile(FichierEntree); //Chargement de l'image
          ImageBitmap := TBitmap.Create;
            try
            { jpeg sur le canvas du Bitmap }
            ImageBitmap.Width := ImageJPEG.Width;
            ImageBitmap.Height := ImageJPEG.Height;
            Graph.Canvas.Draw(H,W,ImageJPEG);
          finally
            ImageBitmap.Free;
          end;
        finally
          ImageJPEG.Free;
        end;
      end;
     
     
    procedure TForm1.FormPaint(Sender: TObject);
      begin
        if Assigned(Graph) then
          begin
            with Image1.Canvas do
              begin
                Draw(0,0,Graph);  // Affichage des images cumulées dans le Graph
                Font.Color:=clRed;
                Brush.Style:= bsSolid;
                Font.Size:=14;
                TextOut(10,10,'Voici du texte');
                Rectangle(100,100,200,200);
                Font.Height:=30;
                TextOut(110,110,'Ceci est un autre texte');
              end;
          end;
      end;
     
    procedure TForm1.FormCreate(Sender: TObject);
     var ChnRep : string;
      begin
        Graph:=TBitmap.Create; //  variable de type TBitmap
        ChnRep:=ExtractFilePath(Application.ExeName);
        Graph.Width:=ScrollBox1.HorzScrollBar.Range;
        Graph.Height:=ScrollBox1.VertScrollBar.Range;
        ChargementJPEGversBMP(ChnRep + 'iceland.jpg',10,10);
        ChargementJPEGversBMP(ChnRep + 'texture_a.jpg',300,100);
      end;
     
    procedure TForm1.FormDestroy(Sender: TObject);
      begin
        FreeAndNil(Graph);
      end;
     
    end.

  2. #2
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Le TImage32 te donne accès à un TBitmap32 et donc un TCanvas.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 398
    Points : 300
    Points
    300
    Par défaut
    TBitmap32 à directement un loadfromstream et un loadfromfile qui chargent directement des fichiers jpg à condition d'avoir mis l'unité jpeg dans la uses.

    Graphic32 a un fichier d'aide en chm pas mal fait et est aussi distribué avec des exemples d'utilisation.

Discussions similaires

  1. comment charger plusieurs occurrences depuis un xml
    Par scribreiz dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 15/07/2009, 18h27
  2. Réponses: 1
    Dernier message: 06/03/2008, 20h40
  3. [VB6]Comment inserer plusieurs infos sur meme ligne dans listbox ?
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 31/05/2006, 19h03

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