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.