Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> fpdf + imagepng
Czadus
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 4
Dołączył: 29.08.2008

Ostrzeżenie: (0%)
-----


Witam,

tworząc plik PDF napotkałem na pewien problem. Otóż do tworzonego dokumentu chcę dodać obrazek, nieistotny jest jego typ, a głównie to, że jest on tworzony w locie, co widoczne jest w funkcji createPNG, jej kod zawarłem poniżej. Tablica $images zawiera fizyczne ścieżki do plików png, z których tworzony jest jeden wyjściowy. I tutaj wszystko działa poprawnie do momentu, kiedy funkcja ta jest parametrem metody klasy fpdf->Image(). Otrzymuję komunikat błędu: FPDF error: Image file has no extension and no type was specified. Sam w sobie błąd oczywiście rozumiem, jednak, niebardzo wiem, w jaki sposób mogę go rozwiązać, obejść, czy istnieje osoba, która jest w stanie mi pomóc?

Dodanie obrazka do pliku pdf.
Kod
$pdf->Image($this->createPNG($tableImages2PDF),160,65,20);


Kod tworzący obrazek.
Kod
$obrazek = @imagecreatefrompng('./files/framework/createPngBg.png');color(2000, 2000);

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];
}

for($i=0;$i<sizeof($images);++$i) {
    imagecolortransparent($images[$i],imagecolorexact($images[$i],0,0,0));
    imagealphablending($images[$i], false); imagesavealpha($images[$i], true);
}

for($i=0;$i<sizeof($images);++$i) {
    ImageCopyResampled($obrazek ,$images[$i], 0, 0, 0, 0, $imgWidth, $imgHeight, $imgWidth, $imgHeight);
}

@imagealphablending($obrazek, false);
@imagesavealpha($obrazek, true);
@imagepng($obrazek, NULL);

for($i=0;$i<sizeof($images);++$i)
    @imagedestroy($images[$i]);
@imagedestroy($obrazek);
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:08