Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Centrowanie w generowanej grafice
Project
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 2.04.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam!
Mam pytanie a odpowiedzi nie widze w manualu... - to tak dla formalnosci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A wiec do rzeczy:
W jaki sposob wysrodkowac text w generowanej grafice??
Wyobrazcie sobie np jpga o wymiarach 40x40 px i teraz jak wysrodkowac generowane texty (cyfry) na nim. W gre wchodza tylko liczby jedno i dwucyfrowe ale problem polega na tym ze cyfra 1 zajmuje duzo mniejszy obszar niz cyfre 4 czy 6...
Ktos z was ma jakies rozwiazanie tego problemu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Z gory dziekuje za (p)odpowiedzi.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cudi
post
Post #2


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


A mnie sie udało, za pomocą funkcji ImageTTFbBox, dzięki której uzyskałem szerokość ramki w której znajdzie sie mój tekst, oraz ImageTTFText, za pomocą której wstawiłem tekst do obrazka:
[php:1:7cf4218518]<?php
$w = 250;
$h = 250;

$txt = 'Tekst :]';
$fnt = 'Times.ttf';

$size = 35;
$angle = 0;

$im = ImageCreate ($w, $h);
$bgcolor = ImageColorAllocate ($im, 0x77, 0x77, 0x77);
$font = ImageColorAllocate ($im, 0x00, 0x00, 0x00);

$box = ImageTTFBBox($size, $angle, $fnt, $txt);

$x = ($w - ($box[2] - $box[0])) / 2;
$y = ($h - ($box[1] - $box[7])) / 2;
$y -= $box[7];

$text = ImageTTFText($im, $size, $angle, $x, $y, $font, $fnt, $txt);
Imagepng($im, 'pic.png');
ImageDestroy ($im);

echo '<IMG SRC="pic.png">';
?>[/php:1:7cf4218518]

Update:
A w komentarzach do funkcji ImageTTFBBox() jest jeszcze kilka przykładów, które dopiero teraz zauważyłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 17:14