Gå til innhold

transparert bilde


Anbefalte innlegg

Heisann.

Jeg holder på med en liten "kantklipper" i bilder som lastes opp på serveren.

 

$png = imagecreatefrompng($image);
$bg = imagecreatefromgif("./bg.gif");
$patch = imagecreatefromgif("./cut.gif");
$white = imagecolorallocate($bg, 255, 255, 255);
$purple = imagecolorallocate($bg, 200, 0, 200);
imagefilledrectangle($bg, 0, 0, 97, 106, $purple);

imagecopy($bg, $png, 0, 0, 0, 0, 97, 106);
imagecopy($bg, $patch, 0, 0, 0, 0, 97, 106);
imagecolortransparent($bg, $purple);

header("Content-type: image/png");
imagepng($bg, "./images/". $randName . ".png");

Slik ser koden ut hvor hele problemet oppstår.

$image er en variabel med link til bildet (et png bilde).

Når jeg kjører dette scriptet, så får ikke bildet en usynlig og fin rund kant, men heller en synlig lilla rund kant.

Den vil ikke gjøre som jeg sier med andre ord.

Har prøvd og bruke JPG bilder, og da gikk det med en gang, og bildet fikk den fine runde kanten som jeg ville ha. Men når jeg da prøvde med png igjen så ville den ikke gjøre noe annet enn å bare legge til den lilla kanten.

 

What to do?

- Molty

Lenke til kommentar
Videoannonse
Annonse

Her har jeg ihvertfall noe kode jeg skrev en gang i tiden som har med skalering av bilder å gjøre, da også transparente PNG-bilder. Kanskje du kan plukke oppe noe fra den koden? :)

 

elseif($source_image['mime_type'] == 'image/png'){
# code added for the ability to resize transparent PNG-images
$source_image_data = imagecreatefrompng($source_image['path']);
imagealphablending($scaled_image, false); # setting alpha blending on
imagesavealpha($scaled_image, true); # save alphablending setting (important)
imagecopyresampled($scaled_image, $source_image_data, 0, 0, 0, 0, $new_image['width'], $new_image['height'], $source_image['width'], $source_image['height']);
imagepng($scaled_image, $cache_file_path, 9);
header('Content-type: image/png');
readfile($cache_file_path);
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...