Image resizen

Gestart doorMilan12 reacties45 weergaven

13 berichten · pagina 1 van 1

Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik kom er echt niet uit, ik wil graag dat van een geuploade foto de maximale grootte 100*100 is.

Ik heb al verschillende scripts geprobeerd, maar ik kom er echt niet, niks werkt lijkt het net...

Dit script heb ik nu:

[COLOR= #0000BB]<?php

                $width[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]100[/COLOR][COLOR= #007700];[/COLOR]
                [COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]100[/COLOR][COLOR= #007700];[/COLOR]
                
                [URL="http://www.php.net/list"]list[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$widthO[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$heightO[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$type[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$attr[/COLOR][COLOR= #007700]) =[/COLOR] [URL="http://www.php.net/getimagesize"]getimagesize[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]images/avatars/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_FILES[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]avatar[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700]]);[/COLOR]

                [COLOR= #0000BB]$ratioO[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$widthO[/COLOR]/[COLOR= #0000BB]$heightO[/COLOR][COLOR= #007700];[/COLOR]

                [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR]/[COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]>[/COLOR] [COLOR= #0000BB]$ratioO[/COLOR][COLOR= #007700]) {[/COLOR]
                    
                    [COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]$ratioO[/COLOR][COLOR= #007700];
                    
                }[/COLOR][URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR]
                    
                    [COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$width[/COLOR]/[COLOR= #0000BB]$ratioO[/COLOR][COLOR= #007700];
                    
                }[/COLOR]

                [COLOR= #FF8000]// Resample[/COLOR]
                [COLOR= #0000BB]$image_p[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatetruecolor[COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700]);[/COLOR]
                imagecopyresampled[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image_p[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$imageAvatar[/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]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$widthO[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$heightO[/COLOR][COLOR= #007700]);[/COLOR]
                            
                imagepng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$imageAvatar[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]images/avatars/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]uId[/COLOR][COLOR= #007700]] .[/COLOR] [COLOR= #DD0000].png[/COLOR][COLOR= #007700]);[/COLOR]
                
                [URL="http://www.php.net/unlink"]unlink[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]images/avatars/[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$_FILES[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]avatar[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700]]);[/COLOR]


?>


Maar nog steeds word de foto niet geresized, heeft iemand hier ervaring mee?
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je kan het resize script van one2xs ook gebruiken. Dat werkt via JS.
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Avatars wil ik sowieso 100*100 hebben omdat dat ruimte bespaart + groter toch niet nodig is..
0
Berichten
3.074
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR] [COLOR= #007700]>[/COLOR] MAX_SIZE[COLOR= #007700]*[/COLOR][COLOR= #0000BB]100[/COLOR][COLOR= #007700])
{[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Je afbeelding is te groot. Je gegevens zijn niet aangepast.[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/die"]die[/URL][COLOR= #007700]();

}[/COLOR]
?>


Misschien werkt dit?

Edit: Als het werkt, moet je natuurlijk zelf ook nog de rest eromheen bouwen. wink
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik wil dat hij automatisch resized, er komen niet allemaal techneuten die weten hoe photoshop werkt om hun plaatje te verkleinen.
0
Berichten
3.074
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Milan schreef:
Ik wil dat hij automatisch resized, er komen niet allemaal techneuten die weten hoe photoshop werkt om hun plaatje te verkleinen.
Oh oke.. Ik zal doorzoeken. emo
Edit:

<img src="[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/if"]if[/URL][COLOR= #007700](@[/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]userfiles/avatars/[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$tsFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]username[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000].[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$tsFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]avatar_filename[/COLOR][COLOR= #007700]])){[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]userfiles/avatars/[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$tsFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]username[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000].[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$tsFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]avatar_filename[/COLOR][COLOR= #007700]]; }[/COLOR][URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]userfiles/noavatar.png[/COLOR][COLOR= #007700]; }[/COLOR] ?>" style="width: 100px; height: 100px;"/>


De files, MySQL namen etc. zijn maar voorbeelden.
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kijk het probleem met deze code is dat als een plaatje nu 50*50 is hij helemaal wordt uitgerekt, bij 60*50 kloppen de verhoudingen niet meer. En als je dan een plaatje van 6000*6000 upload neemt het nog steeds veel te veel ruimte in beslag..

Maar igg bedankt voor je hulp smile
0
Berichten
5.897
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
http://shiftingpixel.com/2008/03/03/smart-image-resizer/

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]// The file[/COLOR]
[COLOR= #0000BB]$filename[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]test.jpg[/COLOR][COLOR= #007700];[/COLOR]

[COLOR= #FF8000]// Set a maximum height and width[/COLOR]
[COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]200[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]200[/COLOR][COLOR= #007700];[/COLOR]

[COLOR= #FF8000]// Content type[/COLOR]
[URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Content-Type: image/jpeg[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #FF8000]// Get new dimensions[/COLOR]
[URL="http://www.php.net/list"]list[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$width_orig[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height_orig[/COLOR][COLOR= #007700]) =[/COLOR] [URL="http://www.php.net/getimagesize"]getimagesize[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$ratio_orig[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$width_orig[/COLOR]/[COLOR= #0000BB]$height_orig[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR]/[COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]>[/COLOR] [COLOR= #0000BB]$ratio_orig[/COLOR][COLOR= #007700]) {[/COLOR]
   [COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]$ratio_orig[/COLOR][COLOR= #007700];
}[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
   [COLOR= #0000BB]$height[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$width[/COLOR]/[COLOR= #0000BB]$ratio_orig[/COLOR][COLOR= #007700];
}[/COLOR]

[COLOR= #FF8000]// Resample[/COLOR]
[COLOR= #0000BB]$image_p[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatetruecolor[COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$image[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatefromjpeg[COLOR= #007700]([/COLOR][COLOR= #0000BB]$filename[/COLOR][COLOR= #007700]);[/COLOR]
imagecopyresampled[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image_p[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$image[/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]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$width_orig[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height_orig[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #FF8000]// Output[/COLOR]
imagejpeg[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image_p[/COLOR][COLOR= #007700],[/COLOR] null[COLOR= #007700],[/COLOR] [COLOR= #0000BB]100[/COLOR][COLOR= #007700]);[/COLOR]
?>
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat is dezelfde die ik heb gebruikt, heb alleen de namen van de variabelen een beetje aangepast
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar javascript resizer van one2xs kan je zo instellen dat wanneer hij boven de 100 px dat hij resized.
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja maar dan kan ik het niet opslaan als een .png.

Een bestand van bijvoorbeeld 6000*6000 neemt 10mb in beslag, een bestand van 100*100 misschien net 0.1mb ofzo. Daarom wil ik resizen, ook vanwege de laadtijd van het plaatje.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Voor:
Afbeelding
Na:
Afbeelding

scriptje:

[COLOR= #0000BB]<?php
$begin[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatefromjpeg[COLOR= #007700]([/COLOR][COLOR= #DD0000]voor.jpg[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$size[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/getimagesize"]getimagesize[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]voor.jpg[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$max_grootte[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]100[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// de langste kant mag max 100 px zijn[/COLOR]

[COLOR= #0000BB]$hoogste[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/max"]max[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]));[/COLOR]
[COLOR= #0000BB]$verhouding[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$max_grootte[/COLOR] / [COLOR= #0000BB]$hoogste[/COLOR][COLOR= #007700];[/COLOR]

[COLOR= #0000BB]$nieuw_x[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]] *[/COLOR] [COLOR= #0000BB]$verhouding[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$nieuw_y[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]] *[/COLOR] [COLOR= #0000BB]$verhouding[/COLOR][COLOR= #007700];[/COLOR]

[COLOR= #0000BB]$nieuw[/COLOR] [COLOR= #007700]=[/COLOR] imagecreatetruecolor[COLOR= #007700]([/COLOR][COLOR= #0000BB]$nieuw_x[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$nieuw_y[/COLOR][COLOR= #007700]);[/COLOR]
imagecopyresampled[COLOR= #007700]([/COLOR][COLOR= #0000BB]$nieuw[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$begin[/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]$nieuw_x[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$nieuw_y[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);[/COLOR]
[URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"Content-type: image/png"[/COLOR][COLOR= #007700]);[/COLOR]
imagepng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$nieuw[/COLOR][COLOR= #007700]);[/COLOR]


Zoiets?
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dankje smile Even testen

toevoeging op 3 januari 2012, 12:59:11:
Heb niet jouw script gebruikt, maar gewoon me eigen. Ik had alleen iets fout gedaan. Ik had $imageAvatar gesaved terwijl ik $image_p moet saven. Had ik uit jouw script gezien. smile
Iedereen bedankt voor het helpen! 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