Autor Zpráva
PetrX
Profil *
Může tě mě nikdo prosím nasměrovat jak vytvořit v PHP sestavení několika desítek obrázků do jednoho. Vím, půjde to pře GD knihovnu, ale nějak nemůžu najít to pravé pro vložení jednotlivých obrázku do výsledného velkého.
Nox
Profil
imagecreatetruecolor (a podobné) (jeden velký)
imagecreatejpeg (a podobné) (otevřeš malé)
imagecopy (a podobné) (skopčíš do velkého)
PetrX
Profil *
Díky za nakopnutí, teď už to jistě dám nějak dohromady. Hold už jsem PHP delší dobu nedělal, tak se mi to vykouřilo z hlavy :-)
PetrX
Profil *
Už jsem to vyřešil a kdyby měl někdo podobný problém, zde nabízím svůj skript:

  
  $new_width  = 650;
  $new_height = 1000;
  // Vytvorime obrazek pro naskladani ikonek
  $obrazek = imagecreatetruecolor($new_width, $new_height);
  
  // Vybereme bilou barvu
  $bila_barva = imagecolorallocate($obrazek,255,255,255);
  
  // Bilou barvou vyplnime cely obrazek
  imagefill($obrazek,0,0,$bila_barva);
  
  // Nastaveni zakladnich promenych
  $x = 0;
  $y = 0;
  $max_height = 0;
  
  for ($i=1;$i<=100;$i++)
    {
     // Otevreme soubor s ikonkou
     @$img = imagecreatefromgif('icons/'.$i.'.gif');
     
     if ($img)
       {
        // Zjistime rozmery obrazku
        $imagesize = getimagesize('icons/'.$i.'.gif');
        
        // Zjistime, jestli se ikonka jestevejde na radek
        if (($x+$imagesize[0]) <= $new_width)
          {
           // Vlozime ikonku
           imagecopy($obrazek, $img, $x, $y, 0, 0, $imagesize[0], $imagesize[1]);
           // Nasledujici x-ova souradnice vkladaciho bodu
           $x = $x + $imagesize[0] + 3;
           // Zjisteni max vysky na radku
           if ($max_height < $imagesize[1])
             {
              $max_height = $imagesize[1];
             }
          }
        else
          {
           // Nasledujici y-ova souradnice vkladaciho bodu
           $y = $y + $max_height + 3;
           // Nulujeme hodnoty
           $x = 0;
           $max_height = 0;
           // Znovu zpracujeme predchozi ikonku
           $i = $i-1;
          }
       }
    }
  
  // Vytvorime vysledny obrazek
  imagepng($obrazek,'obr2.png');
  
  // Odstranime pomocne soubory
  imagedestroy($obrazek);


výsledný obrázek obr2.png se vytvoří ve stejné složce jako je umístěn tento skript

PS: Vytvářím to z GIFů, pokud budete používat jiný formát upravte příslušné načítaní obrázku i(magecreatefrom...)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0