Marcin Guguła 12 Maja 2020 12 Maja 2020 Witam, mam taki skrypty napisany nie do konca przeze mnie, bardziej przerobiony, chciałbym zrobic to jakos prosciejszym kodem z wiekszymi mozliwosciami, generalnie chodzi mi o wygenerowanie czarneglo tla, na wierzch obrazek, oraz 2 teksty wyśrodkowane u góry i nadole (coś ala demotywatory), ponizej zamieszcze skrypt jaki udało mi sie przerobić pod swoje możliwości. <?php function pc_ImageTTFCenter($image, $text, $font, $size) { $box = ImageTTFBBox($size, 0, $font, $text); $xi = ImageSX($image); $xr = abs(max($box[2], $box[4])); $x = intval(($xi - $xr) / 2); return array($x); } $text = "Tutaj testowy tekst jeden a potrzebuje dwa na czarnym tle i na obrazku w ramce"; $font_size = 18; // Rozmiar czcionki M: 18px D: 24px $text_angle = 0; // Kąt tekstu $font = "arial.ttf"; // Rodzaj czcionki $razy = 30; // Wysokość czcionki z odstepem M: 30px D: 40px $margin_top = 23; // Górny margines M: 23px D: 26px $width = 560; // Maksymalna szerokośc $text_width = 45; // Liczba znaków w jednej lini M: 45px D: 35px $padding = 50; // Marginesy góra/dół $the_box = imagettfbbox($font_size, $text_angle, $font, $text); $wordwrap = wordwrap($text, $text_width, "|", true); $count = count(explode("|", $wordwrap)); $height = $count * $razy; $im = imagecreatetruecolor($width, $height + $padding); imagefill($im, imagecolorallocate($im, 46, 46, 46)); $txtColor = imageColorAllocate($im, 255, 255, 255); $out_text = explode("|", wordwrap($wordwrap, $text_width, "|", true)); $y = $margin_top + ($padding / 2); foreach ($out_text as $value) { list($x) = pc_ImageTTFCenter($im, $value, $font, $font_size); imagettftext($im, $font_size, $text_angle, $x, $y, $txtColor, $font, $value); $y += $razy; } header('Content-Type: image/jpeg'); imagejpeg($im); imagedestory($im); ?> Tutaj mam taki kod ogólny przy 2 tekstach (tutaj akurat wiekszy u góry i mniejszy na dole) troche sie rozsypuje wygenerowany obrazek, bardzo bym prosił o jakas pomoc. Z góry dziękuję 🙂 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.