[PHP] met GD2 resizen levert vage kleuren op

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sVerkuil
  • Registratie: Juli 2010
  • Laatst online: 01-03-2023

Solved!

met dank aan: Pheonix1337 en Willemjoosten
Okay, ik wilde laatst mijn game collectie online zetten, zodat ik gewoon op mijn eigen localhost kan zien welke spellen ik heb, welke ik heb uitgespeeld, of welk spel ik moet gaan spelen (willekeurig spel) als ik weer eens niets te doen heb en hoeveel geld ik heb gespendeerd aan games, gewoon omdat het kan.

Nu wilde ik als hoofdpagina niet een classic headertje doen, maar gewoon custom. dus dat ik elke keer een willekeurig spel tevoorschijn krijg en hierbij de cover weergeeft en de naam van het spel. Nu is het mij gelukt om met php een klein plaatje te maken, alleen de covers zijn ofwel veel te groot, ofwel veel te klein. Dus toen bedacht ik mij dat ik het ga resizen. Nu is dit mij ook gelukt, alleen nog even de juiste proporties aanhouden, maar dat is een peulenschil. Nu probeer ik mijn plaatje te zien, alleen het zijn hele vreemde kleuren. Dit gebeurd echter alleen als ik hem resize. Dus er moet een foutje zitten in het resize script.

mijn code:
PHP: header.php
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
require_once "connect.php";

$quer = "SELECT gameNaam, coverURL FROM games, covers WHERE games.coverID = covers.coverID ORDER BY RAND() LIMIT 1";
$res = mysql_query($quer) or die(mysql_error());
$gameNaam = mysql_result($res, 0, 0);
$coverURL = mysql_result($res, 0, 1);

$img = imagecreatefromjpeg($coverURL);
$img2 = imagecreate(960,540);
$size = getimagesize($coverURL);

imagecopyresampled($img2, $img, 0, 0, 0, 0, 960, 540, $size[0], $size[1]);

header("Content-type: image/png");
imagepng($img)


Zo hoort hij eruit te zien:
Link naar hoe hij eruit hoort te zien

Zo ziet hij eruit:
Link naar hoe hij eruit ziet

Acties:
  • 0 Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 20-09 15:06
Probeer imagecreatetruecolor eens ipv imagecreate

Acties:
  • 0 Henk 'm!

Verwijderd

GD imagecreate maakt een afbeelding met een maximaal 256 kleuren. Beter imagecreatetruecolor gebruiken dus. Zie http://www.php.net/manual/en/function.imagecreate.php.

Acties:
  • 0 Henk 'm!

  • sVerkuil
  • Registratie: Juli 2010
  • Laatst online: 01-03-2023
En ja hoor... Dat ik daar zelf niet aan dacht... Bedankt allebei!

Solved!