Mam nast�puj�cy problem. Rysuj� tekst wy�rodkowany za pomoc� funkcji
DrawString():
--
Format.Alignment = StringAlignment.Center;
Format.LineAlignment = StringAlignment.Center;
g.DrawString(Text, Font, ForeBrush, Bounds, Format);
--
I mam teraz pytanie. Czy jest mo�liwe uzyskanie wsp�rz�dnych pod kt�rymi
zostaďż˝ umieszczony tekst przez funkcjďż˝ DrawString?
Warto�ci Bounds s� mi znane jednak stanowi� one pole docelowe dla tekstu
wy�rodkowanego a ja chc� uzyska� dok�adnie pole zajmowane przez
automatycznie wy�rodkowany tekst funkcj� DrawString. Rozmiar tekstu mog�
spokojnie pobra� funkcj� MeasureString(), natomiast co z jego po�o�eniem,
skoro byďż˝ centrowany automatycznie? Czy jest to wykonalne?
Z g�ry dzi�kuj� za pomoc.
--
Pozdrawiam
Marcin
__________ Informacja programu ESET Smart Security, wersja bazy sygnatur wirusow 4665 (20091206) __________
Wiadomosc zostala sprawdzona przez program ESET Smart Security.
Może podejdź do sprawy odwrotnie - skoro znasz rozmiar tekstu
i rozmiar pola, w którym ma być umieszczony, to sam go wycentruj:
lewa krawędź tekstu = (lewa krawędź pola + szerokość tekstu)/2
(analogicznie góra-dół). Narysujesz sam w odpowiednim miejscu.
--
Paweł Kierski
ne...@pkierski.net
Tak, zdaję sobie sprawę z takiej możliwości i oczywiście nasuwa się ona
samoistnie, jednak do przebudowy mam cudzy kod (silnik drukujacy raporty),
więc łatwiej byłoby mi zmienić kod w odwrotny sposób, o który pytałem a
który wyglada jednak na niewykonalny. Tak czy owak dziękuję za odpowiedż.
Dziękuję i pozdrawiam
Marcin
__________ Informacja programu ESET Smart Security, wersja bazy sygnatur wirusow 4667 (20091207) __________
No to może g.MeasureString(), a resztę policz?
tm
> automatycznie wy�rodkowany tekst funkcj� DrawString. Rozmiar tekstu
> mogďż˝ spokojnie pobraďż˝ funkcjďż˝ MeasureString(), natomiast co z jego
> po�o�eniem, skoro by� centrowany automatycznie? Czy jest to wykonalne?
Je�li znasz wsp�rz�dne i wymiary obszaru, na kt�rym rysujesz, to jak
najbardziej wykonalne. Wystarczy proste dzia�anie arytmetyczne: (szeroko��
obszaru - szeroko�� tekstu) / 2.
yamma