[GD] Verkleinen

Gestart doorErik10 reacties47 weergaven

11 berichten · pagina 1 van 1

Erik

Lid · Topicstarter

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey,

Weet iemand een scriptje die met GD resized, zonder dat er pixels verloren gaan?

Groet,

Erik.
0
Berichten
46
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Moet je helaas teleurstellen: Pixels gaan altijd verloren. Ik zal zo even een script posten dat ik +-2 maanden geleden heb geschreven.
0
Erik

Lid · Topicstarter

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja dat weet ik, maar als je het met width en height doet bij de IMG tag, dan zie je helemaal niet meer hoe die er oorspronkelijk uitzag.
0
Berichten
46
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hier is mn script:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/ob_start"]ob_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/error_reporting"]error_reporting[/URL][COLOR= #007700]([/COLOR]E_ALL [COLOR= #007700]|[/COLOR] E_STRICT[COLOR= #007700]);[/COLOR]

[COLOR= #FF8000]/**
 * @author LorenzPHP
 * @copyright 2009
 */

/**
 * Zet alle GETS
 */[/COLOR]
 
 [COLOR= #0000BB]$source[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]url[/COLOR][COLOR= #007700]];[/COLOR]
 [COLOR= #0000BB]$resize[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]resize[/COLOR][COLOR= #007700]];[/COLOR]

[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700]) ||[/COLOR] [URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$resize[/COLOR][COLOR= #007700]))[/COLOR] [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"Please use the GET methode url and resize"[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #FF8000]/**
 * Pak headers van plaatje, zoek het content-type op en sla het op in een variabeel.
 */[/COLOR]
 
 [COLOR= #0000BB]$get[/COLOR] [COLOR= #007700]=[/COLOR] get_headers[COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
 [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$get[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]Content-Type[/COLOR][COLOR= #007700]];[/COLOR]
 
 [URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Content-type: $type[/COLOR][COLOR= #007700]);[/COLOR] 
 
[COLOR= #FF8000]/**
 * Pak hoogte en breedte en zet in variabeel
 */[/COLOR]
 
 [COLOR= #0000BB]$imagesize[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/getimagesize"]getimagesize[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700]);[/COLOR]
 
 [COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$imagesize[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]];[/COLOR]
 [COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$imagesize[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]];[/COLOR]
 
 [COLOR= #FF8000]/**
 * Nieuwe hoogte instellen en breedte instellen
 */[/COLOR]

     
     [COLOR= #0000BB]$ex[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]x[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$resize[/COLOR][COLOR= #007700]);[/COLOR]
          [COLOR= #0000BB]$newwidth[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$ex[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]];[/COLOR]
         [COLOR= #0000BB]$newheight[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$ex[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]];[/COLOR]
    
    
 [COLOR= #FF8000]/**
 * PHP Gezeik met al die imagecreate-functies
 */[/COLOR]
 
 [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/jpeg[/COLOR] [COLOR= #007700]||[/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/jpg[/COLOR][COLOR= #007700])
 {[/COLOR]
 [COLOR= #0000BB]$imagecreate[/COLOR] [COLOR= #007700]=[/COLOR]    imagecreatefromjpeg[COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700]);
 }[/COLOR]
 [URL="http://www.php.net/else"]else[/URL] [URL="http://www.php.net/if"]if[/URL]  [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/png[/COLOR] [COLOR= #007700])
 {[/COLOR]
 [COLOR= #0000BB]$imagecreate[/COLOR] [COLOR= #007700]=[/COLOR]    imagecreatefrompng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700]);
 }[/COLOR]
 [URL="http://www.php.net/else"]else[/URL] [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/gif[/COLOR] [COLOR= #007700])
 {[/COLOR]
 [COLOR= #0000BB]$imagecreate[/COLOR] [COLOR= #007700]=[/COLOR]    imagecreatefromgif[COLOR= #007700]([/COLOR][COLOR= #0000BB]$source[/COLOR][COLOR= #007700]);
 }[/COLOR]
 
  [COLOR= #FF8000]/**
 * Maak het nieuwe plaatje en zet hem op transparant
 */[/COLOR]
 
     [COLOR= #0000BB]$newimage[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatetruecolor[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newwidth[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$newheight[/COLOR][COLOR= #007700]);[/COLOR]
     imagealphablending[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700],[/COLOR] false[COLOR= #007700]);[/COLOR]
     imagesavealpha[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700],[/COLOR]true[COLOR= #007700]);[/COLOR]



  [COLOR= #FF8000]/**
 * Maak het nieuwe plaatje
 */[/COLOR]
 
  imagecopyresampled[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$imagecreate[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$newwidth[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$newheight[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700]);[/COLOR]
  
  [COLOR= #FF8000]/**
 * Zelfde zooi
 */[/COLOR]
 
 [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/jpeg[/COLOR] [COLOR= #007700]||[/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/jpg[/COLOR][COLOR= #007700])
 {[/COLOR]
    imagejpeg[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700]);
 }[/COLOR]
 [URL="http://www.php.net/else"]else[/URL] [URL="http://www.php.net/if"]if[/URL]  [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/png[/COLOR] [COLOR= #007700])
 {[/COLOR]
    imagepng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700]);
 }[/COLOR]
 [URL="http://www.php.net/else"]else[/URL] [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]image/gif[/COLOR] [COLOR= #007700])
 {[/COLOR]
     imagegif[COLOR= #007700]([/COLOR][COLOR= #0000BB]$newimage[/COLOR][COLOR= #007700]);
 }[/COLOR]
 
   [COLOR= #FF8000]/**
 * Buffers cleanen
 */[/COLOR]
     imagedestroy[COLOR= #007700]([/COLOR][COLOR= #0000BB]$imagesize[/COLOR][COLOR= #007700]);[/COLOR]
    imagedestroy[COLOR= #007700]([/COLOR][COLOR= #0000BB]$imagecreate[/COLOR][COLOR= #007700]);[/COLOR] 
    
 [COLOR= #FF8000]/**
 * Einde script
 */[/COLOR]
 
[URL="http://www.php.net/ob_end_flush"]ob_end_flush[/URL][COLOR= #007700]();[/COLOR]
?>


Werking: WEBSITELINK.EXTENTIE/resize.php?url=URLVANPLAATJE&resize=NIEUWEHOOGTExNIEUWEBREEDTE
0
Erik

Lid · Topicstarter

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedankt, en hoef je dan geen IMG tags meer te gebruiken?
0
Erik

Lid · Topicstarter

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hij resized nu, alleen hij weergeeft alleen de link:
.(gegevens($row[lid_id], avatar) == 1 ? $link.resize?url=.$link.img/avatars/.strtolower(gegevens($row[lid_id], gebruikersnaam))...gegevens($row[lid_id], extensie).&resize=100x100 : Afbeelding niet beschikbaarDe oorspronkelijke afbeelding of link ontbreekt.).
Hoe kan ik dat oplossen?
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
toch image-tags gebruiken
0
Berichten
46
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Daar moet je wel IMG-tags omheen zetten, maar je hoeft hem niet te resizen IN de img-tags (height="blabla"), want dat doet het script al (resize=hxw)
0
Erik

Lid · Topicstarter

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oke, bedankt! smile
0
Berichten
46
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Asjeblieft, als je nog vragen hebt hoor ik het smile
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren