Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z nakładaniem kilku obrazków png transparent
Czadus
post
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);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Też miałem ten problem, ale po nasiadówce dwutygodniowej udało mi się coś sklecić. Przykład nałożenia 3 grafik z zachowaniem przezroczystości:
  1. <?php
  2. $obraz1 = ($_GET['obraz1']);
  3. $obraz2 = ($_GET['obraz2']);
  4. $obraz3 = ($_GET['obraz3']);
  5. $temp = ($_GET['temp']);
  6. $name = ($_GET['name']);
  7.  
  8. $img1 = imagecreatefrompng("../graf3/$obraz1");
  9. $img2 = imagecreatefrompng("../graf3/$obraz2");
  10. $img3 = imagecreatefrompng("../graf3/$obraz3");
  11.  
  12. $imgX = imagecreatetruecolor(200, 200);
  13. imagealphablending($imgX, false);
  14. imagesavealpha($imgX, true);
  15. // x do // y do // x skad // y skad // x do ser // y do wys // x skad ser // y skad wys
  16. ImageCopyResampled($imgX,$img1, 0, 0, 0, 0, 72,200, 72,200);
  17. ImageCopyResampled($imgX,$img2, 72, 0, 72, 0, 56,200, 56,200);
  18. ImageCopyResampled($imgX,$img3,128, 0,128, 0, 72,200, 72,200);
  19.  
  20. header("Content-Type: image/png");
  21. imagealphablending($imgX, false);
  22. imagesavealpha($imgX, true);
  23. imagepng($imgX, NULL);
  24. imagepng($imgX, "../tymcz/$name.k2.png");
  25. chmod("../tymcz/$name.k2.png", 0666);
  26.  
  27. imagedestroy($img1);
  28. imagedestroy($img2);
  29. imagedestroy($img3);
  30. imagedestroy($imgX);
  31. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 23:55