Heey mensen,
Ik zit nu al een tijdje te kloten met mijn functie maar hij werkt niet helemaal naar behoren.
wat mijn bedoeling is, als je 400x400 opgeeft dat hij het plaatje dan ook echt resized naar 400x400. Want nu doet hij het soms goed.
Wat tests:
Een plaatje van 800x600: http://www.scootxtreme.nl...diskspace/1/miesfinal.jpg]
resizen van 800x600 naar 400x300:
http://www.scootxtreme.nl....jpg&width=400&height=300
Ziet er goed uit.
http://www.scootxtreme.nl....jpg&width=400&height=350
Ziet er niet goed uit, hij snijd hem niet af.
http://www.scootxtreme.nl....jpg&width=400&height=250
nu snijd hij teveel af en verkleint hij hem niet in hoogte dan.
Het lijkt net alsof er een fout in het script zit, maar ik kan niks vinden eigenlijk. De functie heb ik niet zelf geschreven maar ik snap het grotendeels wel. Behalve het gedoe met die ratio.
code:
Hopelijk weet iemand wat ik het beste kan doen...
Ik zit nu al een tijdje te kloten met mijn functie maar hij werkt niet helemaal naar behoren.
wat mijn bedoeling is, als je 400x400 opgeeft dat hij het plaatje dan ook echt resized naar 400x400. Want nu doet hij het soms goed.
Wat tests:
Een plaatje van 800x600: http://www.scootxtreme.nl...diskspace/1/miesfinal.jpg]
resizen van 800x600 naar 400x300:
http://www.scootxtreme.nl....jpg&width=400&height=300
Ziet er goed uit.
http://www.scootxtreme.nl....jpg&width=400&height=350
Ziet er niet goed uit, hij snijd hem niet af.
http://www.scootxtreme.nl....jpg&width=400&height=250
nu snijd hij teveel af en verkleint hij hem niet in hoogte dan.
Het lijkt net alsof er een fout in het script zit, maar ik kan niks vinden eigenlijk. De functie heb ik niet zelf geschreven maar ik snap het grotendeels wel. Behalve het gedoe met die ratio.
code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| <? header("Content-Type: image/png"); function image_resize($image,$width,$height,$color=array(0,0,0)){ if(@$size = getimagesize($image)){ $newsize=array(); if($size[0]==$size[1]){ $newsize['width']=$width; $newsize['height']=$height; }elseif($size[0]<$size[1]){ $ratio=$height/$size[1]; $newsize['width']=$ratio*$size[0]; $newsize['height']=$ratio*$size[1]; }else{ $ratio=$width/$size[0]; $newsize['width']=$ratio*$size[0]; $newsize['height']=$ratio*$size[1]; } if($newsize['width']>$size[0]){ $newsize['width']=$size[0]; } if($newsize['height']>$size[1]){ $newsize['height']=$size[1]; } switch($size[2]){ case 1: $input=imagecreatefromgif($image); break; case 2: $input=imagecreatefromjpeg($image); break; case 3: $input=imagecreatefrompng(image); break; default: $input=imagecreate($width,$height); imagecolorallocate($input,125,125,125); imagestring($input,2,2,2,'Wrong image type',imagecolorallocate($input,230,230,230)); } $output=imagecreatetruecolor($width,$height); imagecolorallocate($output,$color[0],$color[1],$color[2]); imagecopyresampled($output,$input,0,0,0,0,$newsize['width'],$newsize['height'],$size[0],$size[1]); }else{ $output=imagecreate($width,$height); imagecolorallocate($output,125,125,125); imagestring($output,2,2,2,'The image does not exists',imagecolorallocate($output,230,230,230)); imagestring($output,2,2,15,'or is not reachable',imagecolorallocate($output,230,230,230)); } imagepng($output); } image_resize($_GET['image'],$_GET['width'],$_GET['height']); ?> |
Hopelijk weet iemand wat ik het beste kan doen...