login  Naam:   Wachtwoord: 
Registreer je!
 Forum

IMG Resize na uploaden

Offline Chilion - 03/11/2010 13:04
Avatar van ChilionMySQL interesse Dag allen,

Ik heb een server waarop allerlei afbeeldingen staan. Nu wil ik die images allemaal resizen, in 1x. Maar wat ik niet wil is ze allemaal downloaden en met bijv VSO aanpassen en ze dan weer uploaden.

Ook de afbeeldingen bij het uploaden al resizen is niet mogelijk, omdat ze er al staan.

Ik wil echt bestaande images online resizen. Rara, hoe doe ik dat?

Groetn!

4 antwoorden

Gesponsorde links
Offline valles10 - 03/11/2010 13:14
Avatar van valles10 HTML interesse met php directory uitlezen, en de breedte, en hoogte van de afbeelding ophalen. Als de images breder zijn dan 50px en/of hoger dan 100px, kan je ze laten resizen. Vervolgens verwijderd het script de oude afbeelding, en staat denieuwe in een andere map (of in dezelfde) of overschrijf je ze...

De afbeelding moet niet perse hoger of breder zijn dan 'X', je kan evengoed alles uitlezen en resizen.

ff googlen:
http://www.whit...sizing.php
http://www.site...y_uitlezen
Offline marten - 03/11/2010 13:17
Avatar van marten Beheerder
  1. public function create_thumb($src, $dst, $width = 200, $height = 100, $streven = 'width', $kwaliteit = 75) {
  2. $src_img = @ImageCreateFromJPEG ( $src );
  3.  
  4. $src_width = ImageSX ( $src_img );
  5. $src_height = ImageSY ( $src_img );
  6.  
  7. //Kijken of het een portrait of een landscape of een vierkant is
  8. if ($src_height > $src_width) {
  9. /**
  10. * Portrait
  11. */
  12. $streven = 'width';
  13. } elseif ($src_height < $src_width) {
  14. /**
  15. * Landscape
  16. */
  17. $streven = 'width';
  18. } elseif ($src_height == $src_width) {
  19. $streven = 'both';
  20. }
  21.  
  22. // Ratio's berekenen
  23. if ($streven == 'width') {
  24. $ratio_x = ($src_width / $width);
  25. $ratio_y = $ratio_x;
  26. } elseif ($streven == 'height') {
  27. $ratio_y = ($src_height / $height);
  28. $ratio_x = $ratio_y;
  29. } elseif ($streven == 'both') {
  30. $ratio_x = ($src_width / $width);
  31. $ratio_y = ($src_height / $height);
  32. } else {
  33. return 'Incorrecte streefwaarde';
  34. }
  35.  
  36. $dst_width = round ( $src_width / $ratio_x );
  37. $dst_height = round ( $src_height / $ratio_y );
  38.  
  39. $dst_img = ImageCreateTrueColor ( $dst_width, $dst_height );
  40. $result = ImageCopyResampled ( $dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height );
  41.  
  42. $result = ImageJPEG ( $dst_img, $dst, $kwaliteit );
  43. ImageDestroy ( $dst_img );
  44. }


Dit is een functie welke je door middel van een PHP.net: scandir per afbeelding kan aanroepen. Let er wel even op dat deze voor jpg bestanden is maar dit kan je makkelijk uitbreiden denk ik.
Offline Chilion - 03/11/2010 13:26
Avatar van Chilion MySQL interesse Hmm, heb die simpleimage.php opgeslagen, en dit als index.php:
  1. <?php
  2. include('SimpleImage.php');
  3. $image = new SimpleImage();
  4. $image->load('../images/aardbei.jpg');
  5. $image->resizeToWidth(15);
  6. $image->save('../images/picture.jpg');
  7.  
  8. echo 'hallo';
  9. ?>


Krijg ik een 500 Internal Server Error....
Offline valles10 - 03/11/2010 14:37
Avatar van valles10 HTML interesse
Chilion schreef:
Hmm, heb die simpleimage.php opgeslagen, en dit als index.php:
[..code..]

Krijg ik een 500 Internal Server Error....

je include SimpleImage.php terwijl je file simpleimage.php heet...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s