Copier le rectangle dessiner dans un bitmap

dieuchrist Messages postés 9 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 27 novembre 2006 - 27 nov. 2006 à 08:26
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 27 nov. 2006 à 11:47
Hello tt le monde.
G un petit probleme: j'aimerai copier l'intérieur d'un rectangle, dessiner sur le canvas de mon image, dans un bitmap. mais je sèche. j'ai essayé d'utilisé brushcopy  mais rien ne se passe.
voici mon p'tit bout de code:
var
rectangle:TRect ;
Bitmapa:TBimap ;
begin
Bitmapa:=TBitmap.Create ;
Bitmapa:=LoadFromFile(ExtractFilePath(Application.exe>)+'conversion.bmp')
img_principal.canvas.BrushCopy(reactangle,Bitmapa,Rectangle,clNone);
Bitmap.Free;

donc si qqlqn aurai une idée sa serai cool.
J'ai arrêté de boire le week-end, maintenant je bois plus que la semaine, y'a plus de jours

1 réponse

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 nov. 2006 à 11:47
Salut,

essaye comme ça :

procedure TForm1.Button1Click(Sender: TObject);
Var FromRect, ToRect : TRect;
    FromBMP, ToBMP   : TBitmap;
begin
  FromRect := Rect(10, 10, 100, 100); //  Délimite le rectangle source 
  ToRect   : = Rect(0, 0, 90, 90); //  Délimite le rectangle destination
  FromBMP := TBitmap.Create; //  On crée les Bitmaps
  ToBMP : = TBitmap.Create;//  Pour le Bitmap de destination on aurait aussi pu utiliser un TImage
  ToBMP.Width := 90; //  On ajuste la taille du Bitmap de destination
  ToBMP.Height: = 90;
  Try
    FromBMP.LoadFromFile('Save.bmp');//  On charge le fichier
    ToBMP.Canvas.CopyRect(ToRect, FromBMP.Canvas, FromRect); //  Copie de FromBMP vers ToBMP
    Image2.Picture.Assign(ToBMP);  // Image est un TImage qui sert qu'a afficher le résultat 
// si tu veux enregistrer le résultat tu fais ToBMP.SaveToFile(' Nom_de_Fichier');
  Finally
    FromBMP.Free;//  Et on Libère les Bitmaps pour finir
    ToBMP.Free;
  End;
end;

 
@+
Cirec

<hr size ="2" />
0
Rejoignez-nous