![]() |
Re: Auf ein Image schreiben
Hallo,
So schaltest du die Hintergrundfarbe des Textes auf transparent:
Delphi-Quellcode:
grüße, daniel
SetBkMode(Image1.Picture.Bitmap.Canvas.Handle, TRANSPARENT);
|
Re: Auf ein Image schreiben
Delphi-Quellcode:
hab es mal so übernommen er führt auch aus jedoch ist der Hintergrund immer noch weiß :gruebel:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if FTextMode then begin edText.Left := X + Image1.Left; edText.Top := Y + Image1.Top; edText.Visible := true; edText.AutoSize := true; edText.Text := ''; // Die gewünschten Einstellungen aus dem FontDiag werden in den TEXT übernommen Image1.Picture.Bitmap.Canvas.Font := FontDialog1.Font; SetBkMode(Image1.Picture.Bitmap.Canvas.Handle, TRANSPARENT); FTextMode := false; end else begin Image1.Picture.Bitmap.Canvas.TextOut(edText.Left - Image1.Left , edText.Top - Image1.Top, edText.Text,); edText.Visible := false; end; |
Re: Auf ein Image schreiben
Ersetz das SetBkMode mal durch
Delphi-Quellcode:
Es reicht allerdings, wenn du diese Zuweisung im OnShow machst.
Image1.Picture.Bitmap.Canvas.Brush.Style := bsClear;
Ist aber eigenartig. Ich hab mal ein Projekt gemacht, wo es mit SetBKMode funktioniert hat. Jetzt hab ich aber das aber bei meinen Anhang von Vorgestern versucht und da hats auch net geklappt :gruebel: |
Re: Auf ein Image schreiben
Hervorragend wär ich heute nicht mehr drauf gekommen.
Wollt jetzt mal versuchen den Text immer in der Mitte des Bitmaps auszugeben... muß ich da mit Position := poScreenCenter; arbeiten :?: Gruß Patrick |
Re: Auf ein Image schreiben
Nö,
du musst doch einfach die Koordinaten beim TextOut anders setzen. Einfach die Mitte vom Bild nehmen und die Text-Abmessungen abziehen. Stichwort: Canvas.TextExtend Die Position := poScreencenter lässt das Fenster immer in der Mitte des Screens auftauchen. grüße, daniel |
Re: Auf ein Image schreiben
Du meinst ich muss diese Zeile:
Code:
abändern?
Image1.Picture.Bitmap.Canvas.TextOut(edText.Left - Image1.Left , edText.Top - Image1.Top, edText.Text,);
Ich versteh das mit dem Canvas.TextExtent noch nicht so ganz :stupid: was macht das den? Ich hab jetzt vermutet ich muss hinter dem Left und Top genaue Koordinaten angeben... |
Re: Auf ein Image schreiben
Mit
Delphi-Quellcode:
fängt der Text in der Mitte an.
Image1.Picture.Bitmap.Canvas.TextOut(Image1.Width div 2 , Image1.Height div 2, edText.Text);
TextExtent liefert dir die Abmessung des Strings. Die kannst du dann noch Abziehen.
Delphi-Quellcode:
grüße, daniel
TextSize := Image1.Picture.Bitmap.Canvas.TextExtend(edText.Text);
Image1.Picture.Bitmap.Canvas.TextOut((Image1.Width - TextSize.cx) div 2, (Image1.Height - TextSize.cy) div 2, edText.Text); |
Re: Auf ein Image schreiben
Der
Code:
funzt super.
Image1.Picture.Bitmap.Canvas.TextOut(Image1.Width div 2 , Image1.Height div 2, edText.Text);
mit dem hab ich so meine Probleme
Code:
er gibt mir den Fehler
TextSize := Image1.Picture.Bitmap.Canvas.TextExtend(edText.Text);
Image1.Picture.Bitmap.Canvas.TextOut((Image1.Width - TextSize.cx) div 2, (Image1.Height - TextSize.cy) div 2, edText.Text);
Delphi-Quellcode:
zurück.
[Fehler] Main.pas(81): Undefinierter Bezeichner: 'TextSize'
[Fehler] Main.pas(81): Undefinierter Bezeichner: 'TextExtend' [Fehler] Main.pas(82): ')' erwartet, aber Bezeichner 'cx' gefunden hab versucht in der procedure eine Variable TextSIze angelgt als String... var TextSize : String; der erste FEhler ist dann weg die andern bleiben bestehen. |
Re: Auf ein Image schreiben
Sorry mein Fehler.
Es heißt TextExtent und Textsize ist vom Type TSize. Mit der OH (F1) hättest du das schneller rausgefunden. grüße, daniel |
Re: Auf ein Image schreiben
ich hab auch noch ne frage!
ähhm ihr erzeugt ja so nur Bitmap Bilder. Gibs das auch für JPG bilder? weil ich hab vor das bild per ftp ins internet hochzuladen. und BMP is mir zu groß. Weiß jemand rat? :gruebel: MFG D@rklanmaster |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 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