![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
przeczytałem już dziesiątki stron szukając rozwiązania na mój problem i prawdę mówiąc, pomysłów mi już brakło, albo, po prostu rozwiązanie mam przed nosem jednak nie potrafię go poprawnie wykorzystać. Potrzebuję wykonać następującą operację, z kilku plików PNG zawierających przezroczystość, stworzyć jeden plik, np. jpg, po czym przekazać go bezpośrednio do klasy fpdf tworzącej plik PDF z zawartym wewnątrz, wcześniej utworzonym, obrazkiem. Na chwilę obecną mój kod wygląda następująco: Kod header("Content-type: image/png");
$obrazek=ImageCreate(ustawienia::$modelWidth, ustawienia::$modelHeight); for($i=0;$i<sizeof($images);++$i){ $tess = imagecreatefrompng($images[$i]); list($width, $height, $type, $attr) = @getimagesize($images[$i]); imagealphablending($tess, true); imagesavealpha($tess, true); imagecopymerge($obrazek, $tess, 0, 0, 0, 0, $width, $height, 100); } imagepng($obrazek); |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybką odpowiedź, rzeczywiście, Twój kod pomógł, jednak nie we wszystkim. Oczywiście powstaje nowy obrazek png z przezroczystością, jednak z trzeba nakładanych, faktycznie naniesiony jest tylko jeden, ostatni w pętli. A mi zależy na tym, aby każdy naniesiony obrazek był widoczny poprawnie. Czy masz może na to radę(IMG:style_emoticons/default/questionmark.gif) Mój aktualny kod wygląda następująco:
Kod $sizes=''; for($i=0;$i<sizeof($images);++$i){ list($width, $height, $type, $attr) = getimagesize($images[$i]); $images[$i] = imagecreatefrompng($images[$i]); $sizes[$i][0]=$width; $sizes[$i][1]=$height; } $imgWidth=ustawienia::$modelWidth; $imgHeight=ustawienia::$modelHeight; if(sizeof($sizes)>0){ $imgWidth=$sizes[0][0]; $imgHeight=$sizes[0][1]; } $obrazek = imagecreatetruecolor($imgWidth, $imgHeight); imagealphablending($obrazek, false); imagesavealpha($obrazek, true); for($i=0;$i<sizeof($images);++$i) { ImageCopyResampled($obrazek ,$images[$i], 0, 0, 0, 0, $imgWidth, $imgHeight, $imgWidth, $imgHeight); } header("Content-Type: image/png"); imagealphablending($obrazek, false); imagesavealpha($obrazek, true); imagepng($obrazek, NULL); for($i=0;$i<sizeof($images);++$i) imagedestroy($images[$i]); W $images znajdują się ścieżki do plików png. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 02:46 |