![]() |
Rundes Image Bitmap
Hallo Leute !
Ich würde gern auf ein Image Bitmap mit Canvas eine Kreis ziehen und den Rest dann mit einer Farbe füllen also das sozusagen ein Rundes Bild zu sehen ist mit farbigen Rahmen. Nun bräucht Ich mal einen Ansatzpunkte wie das gehen könnte. Den Kreis zeichnen ist nicht das Problem. |
Re: Rundes Image Bitmap
Ich hätte ne Idee, wie du es machen könntest. Ist aber vielleicht etwas umständlich. Erstelle dir ein Bitmap mit der Breite und der Höhe von deinem Bitmap aus dem Image. Fülle es dann komplett mit der gewünschten Farbe. Danach malst du den Kreis auf die Canvas und füllst diesen mit einer anderen Farbe (z.B. clfuchsia). Das Bitmap machst du dann transparent und wählst als TransparentColor eben deine Kreis-Farbe (clFuchsia). Dieses Bitmap musst du nur noch auf das aus dem Image malen und dem Image das Ergebnis zuweisen. Schon hast du diesen Rahmen. Hoffe, ich hab dich richtig verstanden und ich konnte dir weiterhelfen ;-)
Patti |
Re: Rundes Image Bitmap
Erst mal Danke für den Ansatz, das klappt auch relativ gut nur
das Ich jetzt noch das Problem mit dem zusammenfügen der beiden Bitmaps hab. Vieleicht hat da wer noch einen Tip.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Rect:TRect; begin BMP1:=TBitmap.Create; BMP1.Width:=300; BMP1.Height:=300; BMP1.LoadFromFile('C:\front.bmp'); BMP:=TBitmap.Create; BMP.PixelFormat := pf24Bit; BMP.Canvas.Brush.Color:=clYellow; BMP.Width:=300; BMP.Height:=300; BMp.Transparent:=True; BMP.TransparentColor:=clFuchsia; BMP.Canvas.Pen.Width:=2; BMP.Canvas.Brush.Color:=clFuchsia; BMP.Canvas.Pen.Color:=clblack; BMP.Canvas.Ellipse(200,0,0,200); Bmp.SaveToFile('C:\test.bmp'); Image1.Picture.Bitmap.Assign(BMP); end; |
Re: Rundes Image Bitmap
Zitat:
wäre doch logisch, dass du das Bild mit dem farbigen Rahmen auf das andere Bild rauf zeichnest. :stupid:
Delphi-Quellcode:
BMP1:=TBitmap.Create; BMP1.LoadFromFile('C:\front.bmp'); BMP:=TBitmap.Create; BMP.PixelFormat := pf24Bit; BMP.Canvas.Brush.Color:=clYellow; BMP.Width:= BMP1.Width; BMP.Height:= BMP1.Height; BMP.Transparent:=True; BMP.TransparentColor:=clFuchsia; BMP.Canvas.Pen.Width:=2; BMP.Canvas.Brush.Color:=clFuchsia; BMP.Canvas.Pen.Color:=clblack; BMP.Canvas.Ellipse(1, 1, BMP.Width, BMP.Height); bmp1.Canvas.Draw(0 , 0, Bmp);//Bild auf das andere rauf zeichnen bmp1.SaveToFile('C:\test.bmp'); Image1.Picture.Bitmap.Assign(BMP1); bmp.Free; bmp1.Free; |
Re: Rundes Image Bitmap
Danke Euch beiden, hier wird Dir geholfen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz