Vincent Lammens

Terug

Herschaal foto's in bulk

2020/11/05
project
project, php

Ik heb een script gemaakt om foto’s in bulk te herschalen. Het is een PHP script, bedoeld om vanaf de CLI gedraaid te worden op bv je computer.

<?php

// loop door alle .jpg bestanden
foreach(glob("*.jpg") as $filename) {

  // genereer de nieuwe naam
	$filenameArray = explode(".",$filename);
  $newFileName = $filenameArray[0] ."-herschaald.".$filenameArray[1];
  
  // haal de grote op van de huidige foto
	list($width, $height) = getimagesize($filename);

  // nieuwe hoogte, pas dit aan zoals nodig
  $newheight = 360;
  
  // bepaal breedte op basis van nieuwe hoogte
  $ratio = $newheight/$height;
	$newwidth = $width*$ratio;

  // maak de nieuwe foto aan
  $thumb = imagecreatetruecolor($newwidth, $newheight);
  
  // laad de originele foto in
	$source = imagecreatefromjpeg($filename);

	// Resize
	imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

	// Output
	imagejpeg($thumb, $newFileName);
}
?>