AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Rundes Image Bitmap

Ein Thema von Blackheart · begonnen am 14. Mär 2008 · letzter Beitrag vom 14. Mär 2008
Antwort Antwort
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#1

Rundes Image Bitmap

  Alt 14. Mär 2008, 13:27
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.
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Rundes Image Bitmap

  Alt 14. Mär 2008, 13:45
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
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Rundes Image Bitmap

  Alt 14. Mär 2008, 16:09
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;
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Rundes Image Bitmap

  Alt 14. Mär 2008, 18:42
Zitat von patti:
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.
Hallo,

wäre doch logisch, dass du das Bild mit dem farbigen Rahmen auf das andere Bild rauf zeichnest.
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;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Rundes Image Bitmap

  Alt 14. Mär 2008, 19:36
Danke Euch beiden, hier wird Dir geholfen.
Blackheart
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz