Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyśrodkowanie tekstu na danym obszarze grafiki
mlody69
post 29.01.2015, 20:29:25
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 18.05.2009

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


Witam,
załóżmy że mam obrazek 600x600px i nad dolną krawędzią jest prostokąt pod kątem ~15stopni w którym chcę umieścic wyśrodkowany tekst (również pod kątem, maks. 15 znaków).
Przeszukałem forum, sieć ale znalazłem informacje jak wyśrodkować tekst pionowo i poziomo ale względem całego obrazka a nie danej jego części. Będę wdzieczny za jakiekolwiek wskazówki jak sobie z tym poradzić, również z wielkością czionki w zależności od długości tekstu tak aby nie wyszedł poza dany obszar.

Z góry dziękuje.
Go to the top of the page
+Quote Post
daWeb
post 29.01.2015, 20:34:48
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


dajesz ten obrazek jako background-image, a potem robisz drugiego div-a w którym wpisujesz tekst i ustawiasz mu position:absolute

  1. <div style="background-image: url(link)">
  2. <div style="position:absolute;">
  3. tekst
  4. </div>
  5. </div>


resztę sam sobie oblicz ile ma być top, left pozycji div-u z tekstem.

Ten post edytował daWeb 29.01.2015, 20:35:44
Go to the top of the page
+Quote Post
mlody69
post 29.01.2015, 20:36:20
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 18.05.2009

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


@up
Takie rozwiazanie nie wchodzi w grę gdyż obrazek z tekstem będzie pobierany przez użytkownika na dysk.
Go to the top of the page
+Quote Post
daWeb
post 29.01.2015, 20:41:26
Post #4





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


W taki razie jest 10 innych rozwiązań np.

  1.  
  2. <a href="link" download="obrazek.jpg" title="obrazek">
  3. <div style="background-image: url(link)">
  4. <div style="position:absolute;">
  5. tekst
  6. </div>
  7. </div>
  8. </a>


a można i na tagu img wypozycjonować tekst
Go to the top of the page
+Quote Post
mlody69
post 29.01.2015, 20:52:02
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 18.05.2009

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


No ale przecież po wpisaniu tekstu divem nie będzie go po pobraniu obrazka..
Go to the top of the page
+Quote Post
daWeb
post 29.01.2015, 21:02:43
Post #6





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


sry pośpieszyłem się..

musisz użyć jakiejś biblioteki do modyfikacji obrazków GD2, Imagine poniżej daję przykład dodawania tekstu na obrazek używając GD2

  1. // ustawiamy nagłówek z odpowiednim formatem obrazka
  2. header('Content-type: image/jpeg');
  3.  
  4. // ładujemy obrazek
  5. $jpg_image = imagecreatefromjpeg('sunset.jpg');
  6.  
  7. // kolor tekstu
  8. $white = imagecolorallocate($jpg_image, 255, 255, 255);
  9.  
  10. // krój czcionnki
  11. $font_path = 'font.TTF';
  12.  
  13.  
  14. $text = "tekst";
  15.  
  16. // wrzucamy tekst na obrazek
  17. imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
  18.  
  19. // wyrzucamy do użytkownika
  20. imagejpeg($jpg_image);
  21.  
  22. // czyszczenie pamięci
  23. imagedestroy($jpg_image);
  24.  


więcej funkcji na http://php.net/manual/en/book.image.php
Go to the top of the page
+Quote Post
mlody69
post 30.01.2015, 01:48:05
Post #7





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 18.05.2009

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


Tekst jak dodawać i generować obrazek to wiem, kod mam. Chcę wiedzieć jak go wyśrodkować na danym obszarze obrazka.
Go to the top of the page
+Quote Post
daWeb
post 30.01.2015, 10:28:43
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


Jeżeli wiesz ile dany obszar ma wymiaru i jaką ma pozycje na obrazku, to nie powinieneś mieć problemów z nałożeniem na niego tekstu. Natomiast, jeżeli zmienia się to dynamicznie, czyli nie jesteś w stanie określić gdzie się znajduje dany obszar na obrazku - to masz problem.

Rozwiązanie jaki mi przychodzi do głowy, to oddzielić lub tworzyć w GD obszar na który nakładasz tekst, czyli pierwsze modyfikujesz już oddzieloną cześć od obrazka bazowego dodając na nią tekst, a potem wklejasz i ustawiasz go do obrazka bazowego.

Ten post edytował daWeb 30.01.2015, 10:30:02
Go to the top of the page
+Quote Post
mlody69
post 30.01.2015, 14:38:28
Post #9





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 18.05.2009

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


Obszar na obrazku jest stały, tylko tekst w danym obszarze będzie zmienny.
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 Wersja Lo-Fi Aktualny czas: 27.05.2025 - 21:34