Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] image - obrysowanie tekstu, w photoshopie efekt nazywa sie STROKE
grohu
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

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


witam, czy jest jakis latwy sposob zeby wypisac tekst, w ktorym kazda literka (zewnetrzny plik ttf) ma wlasne obramowanie (przylegajace do jej ksztaltu). Na przyklad mamy czarny napis i kazda literka okrazona jest kolorem czerwonym...

w photoshopie taki efekt nazywa sie STROKE.


probowalem recznie zrobic tak:
1\ rysowac literke czerwona
2\ na niej rysowac czarna literke pomniejszona i przesunieta w prawo

  1. <?php
  2. header(&#092;"Content-type: image/png\");
  3.  
  4. function strokeChar(&$im, $char, $left) {
  5. $button_label_size = 12;
  6. $button_label_left = $left;
  7. $button_label_top = 20;
  8. $button_label_color = imagecolorallocate(&$im, 255, 0, 0);
  9. $ttf_font_path = &#092;"fonts/framd.ttf\";
  10.  
  11. imagettftext($im, $button_label_size, 0, $button_label_left, $button_label_top, $button_label_color, $ttf_font_path, $char);
  12.  
  13. $button_label_color = imagecolorallocate(&$im, 0, 0, 0);
  14.  
  15. imagettftext($im, $button_label_size-2, 0, $button_label_left+2, $button_label_top-1, $button_label_color, $ttf_font_path, $char);
  16.  
  17. }
  18.  
  19.  
  20. $im = imagecreate(300, 200) 
  21. or die(&#092;"Critical error: Cannot Initialize new GD image stream<br>Check if you have access to GD extension in <i>php.ini</i> file.\");
  22. $bg = imagecolorallocate($im, 255, 255, 0);
  23.  
  24. strokeChar($im, &#092;"P\", 30);
  25. strokeChar($im, &#092;"R\", 42);
  26.  
  27.  
  28.  
  29. imagepng($im);
  30. imagedestroy($im);
  31. ?>



jednak ten sposob nie jest dobry, poniewaz litery nie sa dobrze otaczane dolna (czerwona) warstwa...

moze istnieje jakas funkcja, ktora to robi lub jakis inny sposob ... questionmark.gif?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 04:37