Autor | Zpráva | ||
---|---|---|---|
PetrX Profil * |
#1 · Zasláno: 9. 10. 2008, 14:05:53
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 |
#2 · Zasláno: 9. 10. 2008, 14:47:46
imagecreatetruecolor (a podobné) (jeden velký)
imagecreatejpeg (a podobné) (otevřeš malé) imagecopy (a podobné) (skopčíš do velkého) |
||
PetrX Profil * |
#3 · Zasláno: 9. 10. 2008, 14:54:45
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 * |
#4 · Zasláno: 10. 10. 2008, 11:12:47
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...) |
||
Časová prodleva: 16 let
|
0