Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][GD2] Kilka przezroczystych grafik, Problem z nakładaniem wielu grafik
Shlizer
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.09.2003
Skąd: z Gdyni

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


Witam.
Mam pewien problem z biblioteką GD2 w PHP. Chcę wyświetlić kilka grafik z przezroczystością jako jeden rysunek, ale gdy obrazków jest więcej niż 2 przezroczystość znika i/lub którejś z grafik nie widać. Sprawę może komplikować fakt, że tło do tego generowanego obrazka jest wycinane z większej grafiki.
Może dla wyjaśnienia trochę kodu:
Kod
<?php
$MapaURL = '../mapy/tiles/'.$_GET['mapa'];
$Stan = $_GET['stan'];
$Nr = $_GET['nr'];
$Nr = $Nr+0;

$Szerokosc = 40;
$Wysokosc = 40;

// Twórz grafikę kafla
$Kafel = imagecreatetruecolor($Szerokosc, $Wysokosc);
imagealphablending($Kafel, false);
imagesavealpha($Kafel, true);

// Kopiuj grafikę mapy
$Mapa = imagecreatefrompng($MapaURL);

$PozX = ( ( $Nr % ( imagesx($Mapa) / $Szerokosc ) ) * $Szerokosc );
$PozY = ( (int)( $Nr / ( imagesx($Mapa) / $Szerokosc ) ) * $Wysokosc );

imagecopymerge($Kafel, $Mapa, 0, 0, $PozX, $PozY, $Szerokosc, $Wysokosc, 100);

// Wyświetlanie
header('Content-type: image/png');
imagepng($Kafel);

imagedestroy($Kafel);
imagedestroy($Mapa);
?>
Taki obrazek wyświetla się prawidłowo, jednak przy jakiejkolwiek próbie wgrania (imagecreatefrompng + imagecopy/imagecopymerge) innego pliku z ustawieniem na różne sposoby i w różnych miejscach, na różnych obrazkach kanału alfa zawsze jest pomijana przezroczystość i widoczna jest jedynie ostatnia grafika wklejona metodą imagecopymerge..
Kolejny problem to brak możliwości nałożenia wielu filtrów na obrazek z kilkoma (dwoma) rysunkami z kanałem alfa, ale wydaje mi się, że gdy pierwszy problem zostanie rozwiązany to i ten przestanie istnieć.

Czy wie ktoś może w czym leży problem?

Ten post edytował Shlizer 5.09.2009, 00:05:35


--------------------
Nie będziesz robił machin na obraz i podobieństwo ludzkiego umysłu.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


A probowales obrazek z 2 przezroczystymi grafikami zapisac, a potem na nowo otworzyc i dopiero wtedy nakladac 3 przezroczystosc?
Go to the top of the page
+Quote Post

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: 21.08.2025 - 01:10