Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Generowanie obrazków
Forum PHP.pl > Forum > Przedszkole
dark_root
Chciałbym wygenerować obrazek w php. Tylko, iż zależy mi, żeby tłem nie był jakiś kolor tylko inny obrazek. Da się tak zrobić?
blooregard
Poczytaj o bibliotece GD.
http://pl.php.net/gd
dark_root
Ja generuje obrazki przez GD, jednak nie wiem, która funkcja umożliwia mi robienie tła obrazkowego.
pEbE
Poprostu nałóż jeden obrazek na drugi.
Spawnm
może:
$tlo = imagecreatefrompng('tlo.png');
dark_root
Działa. Mam jeszcze tylko jedno pytanie. Mam taki kod
  1. <?php
  2. function LoadJpeg($imgname)
  3. {
  4.    /* Attempt to open */
  5.    $im = @imagecreatefromjpeg($imgname);
  6.  
  7.    /* See if it failed */
  8.    if(!$im)
  9.    {
  10.        /* Create a black image */
  11.        $im  = imagecreatetruecolor(150, 30);
  12.        $bgc = imagecolorallocate($im, 255, 255, 255);
  13.        $tc  = imagecolorallocate($im, 0, 0, 0);
  14. imagestring($im, 1, 5, 5, 'Dziala ' . $imgname, $tc);
  15.        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
  16.  
  17.        /* Output an error message */
  18.        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
  19.    }
  20.  
  21.    return $im;
  22. }
  23.  
  24. header('Content-Type: image/jpeg');
  25.  
  26. $img = LoadJpeg('a.jpg');
  27.  
  28. imagejpeg($img);
  29. imagedestroy($img);
  30. ?>


Jednak z nieznanych mi powodów na obrazku nie pojawia się napis. Jak zrobić, żeby on był?
erix
Bo umieszczasz napis w sekcji, która się wykonuje, gdy otwarcie obrazka nie powiodło się.
  1. <?php
  2. if(!$im)
  3.   {
  4.       /* Create a black image */
  5.       $im  = imagecreatetruecolor(150, 30);
  6.       $bgc = imagecolorallocate($im, 255, 255, 255);
  7.       $tc  = imagecolorallocate($im, 0, 0, 0);
  8. ?>


Dodaj else" title="Zobacz w manualu PHP" target="_manual do tego if" title="Zobacz w manualu PHP" target="_manuala i w nim umieść:
  1. <?php
  2. imagestring($im, 1, 5, 5, 'Dziala ' . $imgname, $tc);
  3. ?>
dark_root
Z tego co zrozumiałem miało to wyglądać jakoś tak
  1. <?php
  2. if(!$im)
  3.    {
  4.        /* Create a black image */
  5.        $im  = imagecreatetruecolor(150, 30);
  6.        $bgc = imagecolorallocate($im, 255, 255, 255);
  7.        $tc  = imagecolorallocate($im, 0, 0, 0);
  8. imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
  9.        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
  10.  
  11.        /* Output an error message */
  12.        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
  13.    }
  14. else
  15. {
  16.    imagestring($im, 1, 5, 5, 'Dziala ' . $imgname, $tc);
  17. }
  18. ?>
jednak nie działa. Co tym razem robię źle?
erix
$tc nie masz zadeklarowanego.
dark_root
Ok, teraz działa. A jak wstawić na zdjęcie będące tłem inne obrazek?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.