Zwarte background over image

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een image op te halen via een url. Als ik het via de onderstaande manier doet werkt dit:

PHP:
1
2
3
4
5
6
<?php
$im = @imagecreatefromstring(file_get_contents('url'));

header ("Content-type: image/png");
imagepng($im);
?>


Dit werkt dus. Alleen wil ik hem nu in een thumb resize maar dan wordt de background zwart
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$im = @imagecreatefromstring(file_get_contents('url'));

$thumb = imagecreatetruecolor(200, 131);
$source = imagecreatefrompng($im);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, 200, 131, 500, 375);

header ("Content-type: image/png");
imagepng($thumb);
?>


Al een hele hoop geprobeerd zoals imagecolortransparent() en imagecolorallocate() maar dit hielp helaas niet.

Iemand een oplossing voor dit probleem?
Dank!

Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 17:12

AW_Bos

Liefhebber van nostalgie... 🕰️

Ga eerst eens gewoon geen foutmeldingen negeren met de @.

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Je $im is al een GD resource en dan ga je er een paar regels later met imagecreatefrompng nog een keer een resource van proberen te maken zonder dat je errors krijgt? Denk t niet. Error reporting op -1, display errors aan en debuggen die handel. Nu zit je maar gewoon random functies te proberen en daar ga je het niet mee redden.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als die eerste snippets werkt dan ligt het (hoewel niet netjes) niet aan die @. :)

Wordt de hele image zwart of zit er transparantie in je bronimage en wordt alleen dat deel zwart? In het eerste geval gaat er iets grondig mis en moet je je content-type header even weglaten om te zien wat dat dan is, in het tweede geval moet je na het aanmaken van je thumb even de transparante kleur alloceren voor die image.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Cartman! schreef op maandag 12 december 2011 @ 21:45:
Je $im is al een GD resource en dan ga je er een paar regels later met imagecreatefrompng nog een keer een resource van proberen te maken zonder dat je errors krijgt? Denk t niet. Error reporting op -1, display errors aan en debuggen die handel. Nu zit je maar gewoon random functies te proberen en daar ga je het niet mee redden.
Dank, heb het werkend gekregen!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Overigens heb ik die FAQ destijds ook niet voor niks geschreven natuurlijk. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Meldt dan ook even wat de oplossing was, wel zo symphatiek :)

https://niels.nu


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Hij citeert Cartman! toch al die letterlijk het probleem aanwijst in zijn eerste zin? :P

De oplossing is in gevallen als dit sowieso altijd: kijken wat je output is. En dan bedoel ik de uitvoer van het complete script, zonder content-type header die ervoor zorgt dat je foutmeldingen de image corrumperen. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1