Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Image so gross machen das ein String genau reinpasst. (https://www.delphipraxis.net/2155-image-so-gross-machen-das-ein-string-genau-reinpasst.html)

Sharky 9. Jan 2003 13:37


Image so gross machen das ein String genau reinpasst.
 
Hai,

ich möchte ein Image (TImage) erzeugen das genau die Breite eines Strings hat den ich darauf zeichnen möchte.

Auf meiner Form sind:

1 Button
1 Edit
1 Image

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);

var
 MyRect            : TRect;

begin
 Image1.Canvas.Font.Size := 10;
 MyRect.Left := 0;
 MyRect.Top := 0;
 MyRect.Right := Image1.Canvas.TextWidth(Edit1.Text) + 5;
 MyRect.Bottom := Image1.Canvas.TextHeight(Edit1.Text) + 2;
 Image1.BoundsRect := MyRect;
 Image1.Canvas.TextOut(0, 0, Edit1.Text);
 Label1.Caption := Format('Das Image ist %d Pixel breit', [Image1.width]);
end;
Aber die Breite des Images wird nicht angepasst :-(

Hat jemand eine Idee?

eddy 9. Jan 2003 21:03

Hallo Sharky,

ich habe zwar keine Ahnung, wofür das Gut sein soll, aber ich habe es trotzdem ausprobiert. Wenn Du dafür sorgst, daß die Schrift in beiden Objekten identisch ist, sollte es funktionieren.

mfg
eddy

sakura 9. Jan 2003 22:38

Entscheidend für den Inhalt ist auch die Größe des Bitmap.

Image1.Bitmap.Width und Image1.Bitmap.Height. Die Größe des Images wird nur zur Darstellung, nicht aber für den Canvas genutzt. Kurz: Beide Image1 und Image1.Bitmap müssen die richtige Größe haben.

...:cat:...

Christian Seehase 9. Jan 2003 22:51

Moin sakura,

hättest Du in diesem Zusammenhang eine Idee, warum bei Canvas.ClipRect so beschrieben ist:

Zitat:

Zitat von Delphi-Hilfe
Die Eigenschaft ClipRect legt die Begrenzung des Clipping-Rechtecks fest.

dies aber eine Read Only Eigenschaft ist? :shock:

sakura 10. Jan 2003 08:36

Erst mal sorry. Es ist nicht Image.Bitmap sondern Image.Picture.Bitmap.

@C/S: Welches ClipRect meinst Du?

Sharky 10. Jan 2003 10:27

Zitat:

Zitat von sakura
Erst mal sorry. Es ist nicht Image.Bitmap sondern Image.Picture.Bitmap.

Danke. Jetzt geht es :lol:

@eddy:
Das ganze ist für folgendes Gut:
Ich beim dem Instrumentation Workshop von TMS-Softwre ist ein LED-Banner dabei. Dieses scrollt ein Bitmap und es sieht dann so aus wie diese LED-Werbebänder.

Da ich dort Text anzeigen möchte muss ich halt ein Bitmap mit Text erzeugen.

Anbei habe ich mal ein ganz kleines Demo gehängt

eddy 10. Jan 2003 10:46

Hallo Sharky,

Du Schreibst: Anbei habe ich mal ein ganz kleines Demo gehängt

Wo ist anbei und wie komme ich da ran?

Ich bin noch nicht allzu lange dabei, fehlt mir noch irgendeine Freigabe?

mfg
eddy

sakura 10. Jan 2003 10:54

Direkt unterhalb der Signatur von Sharky
Zitat:

><(((°>
Sharky
steht folgendes
Zitat:

Banner.exe - 141 KB
Da ist der Download.

eddy 10. Jan 2003 11:01

Hi Sharky,

ist schon manchmal seltsam.

Bevor ich die vorige Nachricht sandte, stand noch nichts von Banner.exe unter Deinem Text, nach dem Versenden bin ich wieder auf die Seite gegangen, da stand der Download bereit.

Hab ihn mir angesehen. Läuft prima. Jetzt fehlt nur noch ein Regler zum Einstellen der Farben.

mfg
eddy

sakura 10. Jan 2003 11:04

Zitat:

Zitat von eddy
Bevor ich die vorige Nachricht sandte, stand noch nichts von Banner.exe unter Deinem Text, nach dem Versenden bin ich wieder auf die Seite gegangen, da stand der Download bereit.

Das ist wohl eher unwahrscheinlich ;) Da ich mir das Sample bereits vor Deiner Nachricht gesaugt hatte.
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Seite 1 von 2  1 2      

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