[Lazarus] Dessin vectoriel ou MetaFileCanvas
Bonjour,
Voila un composant que j'utilise sous Delphi courament. Il permet de dessiner sur une fiche directement en mode 'vetoriel' et de sauvegarder ces images en *.emf ou de les copier et coller directement dans une autre application (ex: Word). Je peux ensuite modifier le texte et les couleurs directement avec le traitement de texte. Il ne s'agit pas de bitmap ou de fichier jpeg, car les éléments sont accéssibles par type, un rond, une ligne etc.
Cette fonction ne marche pas sous Lazarus.
Avez-vous une idée pour faire la même chose ( en gagnant la fonction multiplateforme).
Peut-être metafilePict ?
ou par Stream, que je ne sais pas utiliser.
Merci.
Dessin vectoriel et copier coller
Merci,
Mes ce composant ne fait rien de plus que la type TCanvas ne fait déjà.
Tu peux faire la même chose directement sur la forme principale TForm1 par exemple qui posséde cette "proprerty" en héritage de TcustomForm.
Voici avec ton exemple.
Citation:
PaintBox1.Canvas.Pen.Width := 1;
PaintBox1.Canvas.Pen.Color:= clBlue;
xcenter:=Trunc(PaintBox1.Width/2);
ycenter:=Trunc(PaintBox1.Height/2);
PaintBox1.Canvas.Ellipse(xcenter-30,ycenter-30,xcenter+65,ycenter+30);
PaintBox1.Canvas.Pen.Color:= clRed;
PaintBox1.Canvas.Rectangle(xcenter-80,ycenter-50,xcenter-10,ycenter-10);
PaintBox1.Canvas.TextOut(xcenter-80,ycenter+50,'Voici un rectangle et une ellipse');
PaintBox1.Canvas.Refresh;
Form1.Canvas.Ellipse(xcenter-30,ycenter-30,xcenter+65,ycenter+30);
Form1.Canvas.Pen.Color:= clRed;
Form1.Canvas.Rectangle(xcenter-80,ycenter-50,xcenter-10,ycenter-10);
Form1.Canvas.TextOut(xcenter-80,ycenter+50,'Voici un rectangle et une ellipse');
Form1.Canvas.Refresh;
Ce qui m'interesse le plus est de pouvoir faire un copier/coller de ce TCanvas.
Je penche plus actuellement sur l'utilisation de SetClipboardData(CF_MetaFilePict...
Mais comment mettre le TCanvas en mémoire?