Clipboard Probleme ? [Résolu]

Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
- - Dernière réponse : programiest
Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
- 4 sept. 2008 à 14:40
Salut

j ai un Problème avec le Graphique de Clipboard
voila mon Code :
{$R *.dfm}

1- je copie un Graphique de Microsoft Paint dans Clipboard avec Ctrl+V

2-
procedure TForm1.Button2Click(Sender: TObject);

begin
if Clipboard.HasFormat(CF_BITMAP) then

Image2.Picture.Assign(Clipboard);

end;

3- Le Problème est ici :
procedure TForm1.Button1Click(Sender: TObject);

begin


Image1.Canvas.StretchDraw(Rect(10,10,200,200), Image2.Picture.Bitmap);

end;

Resultat : Un Image Blanc !!!!!!
mais si je fais ça avec cette forme sa marche :
Image1.Picture.Assign(Image2.Picture);

s.v.p essaye ?
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
3
Merci
Paint renvoi bien un format Bitmap  ... entres autres ...

il faut donc soit forcer le bon format ... soit s'adapter

{Ici on s'adapte au Format}
Procedure TForm2.Button2Click(Sender:
TObject);
Begin
  If
Clipboard.HasFormat(cf_Bitmap) Or
ClipBoard.HasFormat(CF_METAFILEPICT)
    Or ClipBoard.HasFormat(CF_ENHMETAFILE) Then
      Image2.Picture.Assign(ClipBoard);

End;

{On utilise l'objet Graphic}
Procedure TForm2.Button1Click(Sender: TObject);

Begin

  Image1.Canvas.StretchDraw(Rect(10,10,200,200),
Image2.Picture.Graphic);
End;

{Ici on force le bon format}
Procedure TForm2.Button2Click(Sender:
TObject);
Begin
  If
Clipboard.HasFormat(cf_Bitmap) Then

    Image2.Picture.Bitmap.Assign(ClipBoard);
End;

{On utilise le l'objet Bitmap}
Procedure
TForm2.Button1Click(Sender: TObject);
Begin
  Image1.Canvas.StretchDraw(Rect(10,10,200,200),
Image2.Picture.Bitmap);
End;

 
@+
Cirec

<hr siz="" />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
salut,

ce code fonctionne très bien !!!!
je viens de le tester sous D7

essaye peut être en fixant la taille du TImage

Image1.Width := 210;
Image1.Height := 210;
Image1.Canvas.StretchDraw(Rect(10,10,200,200), Image2.Picture.Bitmap);

 
@+
Cirec

<hr siz="" />
Commenter la réponse de Cirec
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
0
Merci
  if clipboard.HasFormat(clipbrd.CF_PICTURE) then
  begin
    image1.Picture.Assign(ClipBoard);
    image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
  end;

image1.Picture.Bitmap.Width := 320;
image1.Picture.Bitmap.Height := 240;
image1.Picture.Bitmap.Canvas.StretchDraw(Rect(0,0,319,239), Image2.Picture.Bitmap);

<hr size="2" width="100%" />
Commenter la réponse de f0xi
Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
0
Merci
Sa ne marche pas
tu a déjà testée ?!
Commenter la réponse de programiest
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
0
Merci
oui et ça fonctionne trés bien...

ton problème doit venir d'ailleurs.

<hr size="2" width="100%" />
Commenter la réponse de f0xi
Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
0
Merci
Quel Delphi Version ?
j ai D7
peut tu faire un Demo pour moi ;) (delphi project). merci
Commenter la réponse de programiest
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
 

les 3 codes fonctionnes parfaitement ...
fait un essais toi même avec rien d'autre que 2 TImage et deux TButton et ça devrait aussi marcher chez toi.

@+
Cirec
Commenter la réponse de Cirec
Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
0
Merci
[ les 3 codes fonctionnes parfaitement ] !!!
je suis sur que tu n' as pas essayée de copie un Graphique de MS Paint
MS Paint utilise un autre format ( wmf)
tu as peut être essayée avec Bitmap en Clipboard
alors tu peut essayée de copie le Graphique en MS Paint ou bien de photoshop avec Ctrl+C
Commenter la réponse de programiest
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
0
Merci
WMF = Windows Meta File, supporté par Delphi et TImage.

non le probleme ne viens pas de la, le code est bon, est fonctionne avec la plupart des logiciel graphique même avec Word et Writer. mais pas avec Paint (j'avais tester avec Paint.Net, rien a voir avec MSPaint)

C'est juste que Paint, lors du copier coller ne renvois pas un Bitmap, ni même un JPEG, non plus un WMF... il renvois ... autre chose ... dans un format totalement grotesque et injurieux, on dirait presque du MSP (MicroSoft Paint) le format natif de Paint 1.0 et 2.0.

<hr size="2" width="100%" />
Commenter la réponse de f0xi
Messages postés
11
Date d'inscription
mardi 2 septembre 2008
Dernière intervention
27 novembre 2008
0
Merci
Salut
j l ai testée. maintenant sa marche très bien  :  )
merci beaucoup
Commenter la réponse de programiest

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.