ďťż

Ładny brzuch

Czy jest jakaś funkcja, która sprawdzi ile dany string ma pixeli długości i szerokości.
Z góry THX



Podejrzewam ze chodzi o rysowanie na canvasie?
Jak nie to czytaj od punktu 1. a jak tak to od 2...

1.Przypisz do Form1.Canvas.Font czcionke którą chcesz sprawdzic
2.
wys:=Form1.Canvas.TextHeight('Jakiś sobie tekst');
szer:=Form1.Canvas.TextWidth('Jakiś sobie tekst');

3.I już!

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

jeśli chodzi Ci o stringa to może Length(str);

//----------------------
www.beldzio.com
Szukam betatesterów chętnych proszę o wpisanie się na www.beldzio.com/beta

Bełdziu on nie pytał o to jak sprawdzić ile znaków ma string tylko ile pixeli w danej czcionce zajmuje na ekranie...

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl



No Migajek o to chodziło(jak mogłem się nie domyślić :oops: );

cytat:migajek napisał:

Bełdziu on nie pytał o to jak sprawdzić ile znaków ma string tylko ile pixeli w danej czcionce zajmuje na ekranie...

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

pisał string a nie Canvas ;)

//----------------------
www.beldzio.com
Szukam betatesterów chętnych proszę o wpisanie się na www.beldzio.com/beta

słowa "pixeli długości i szerokości" są kluczem.

Strona mojej grupki programistycznej: www.blaze.er.pl
Zapraszam na moje forum - www.blaze-programming.no-ip.com/phpbb2
gg: 4644238 | tlen: chomik-programista

Bełdziu:
"ile dany string ma pixeli długości i szerokości"

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

cytat:migajek napisał:

Bełdziu:
"ile dany string ma pixeli długości i szerokości"

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

dobra dobra :D ale w moim mniemaniu text na canxasie to nie jest string :P

//----------------------
www.beldzio.com
Szukam betatesterów chętnych proszę o wpisanie się na www.beldzio.com/beta

[qutoe] napisałem:
No Migajek o to chodziło(jak mogłem się nie domyślić );
[/quote]

Jednak nie do końca o to chodziło.

Bełdzio myśli dobrze. Jak sprawdzić np. ile ma pikseli szerkości i wysokości jakiś text wczytany z pliku jeżeli chcę go napisać powiedzmy czcionką Arial 12. :?

napisz konkretnie co chcesz zrobić - będzie prościej

//----------------------
www.beldzio.com
Szukam betatesterów chętnych proszę o wpisanie się na www.beldzio.com/beta

Powiedzmy, że chcę narysować na Canvasie 3 ciągi jakiś tam znaków i chcę je równomiernie rozmieścić - tak, aby odstępy między nimi były jednakowe (coś na podobę jak jest AutoSize w TLabel - jakoś przecież musi odczytać wysokość i szerokość tekstu).

cytat:LewB ar napisał:

Powiedzmy, że chcę narysować na Canvasie 3 ciągi jakiś tam znaków i chcę je równomiernie rozmieścić - tak, aby odstępy między nimi były jednakowe (coś na podobę jak jest AutoSize w TLabel - jakoś przecież musi odczytać wysokość i szerokość tekstu).

No to migajek napisał Ci jak to zrobić.
Jak znasz wysokość i szerokość tekstu to bez problemu możesz sobie odpowiednio wyliczyć gdzie go narysować...

ICQ : 245-363-570 | TLEN : oxisoft | GG : 486-2-486

Ja sprawdzam ile jest lini tekstu:
Zakładając że mamy do czynienia z tablicą dynamiczną - lines to tablica a i to integer :

for i:=low(lines) to high(lines) do
begin
Form1.Canvas.TextOut((Form1.Width div 2)-(Form1.Canvas.TextWidth (lines[i])div 2),(Form1.Height div 2)-(-i*3*(Form1.Canvas.TextHeight(lines[i]) div 2)),lines[i]);
end;

lub z TStrings (lines jako TStrings i i jako integer):

for i:=0 to lines.count-1 do
begin
Form1.Canvas.TextOut((Form1.Width div 2)-(Form1.Canvas.TextWidth (lines [i])div 2),(Form1.Height div 2)-(-i*3*(Form1.Canvas.TextHeight(lines[i]) div 2)),lines[i]);
end;

To powinno działać, ale nie testowałem

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

Może byc roznie bo pisane z glowy

Zapraszam na moją stronkę o programowaniu:http://www.migsoft.prv.pl

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •