问题
I'm allowing user uploads, and I want to scale their images up if they're too small (low quality is a non-issue). I need to make the smallest side become 150px and have the other dimension scale up to keep the aspect ratio. I need to make it work for .jpg, .gif and .png files.
Any pointers would be greatly appreciated, I'm struggling to find anything about making images larger like this.
回答1:
As answered here, give it a try to WideImage.
回答2:
Thanks to Alexander for the WideImage suggestion.
I simply used this:
require_once('WideImage/WideImage.php');
$image = WideImage::load($_FILES['image']['tmp_name']);
$resized = $image->resize(150,150,'outside','up');
$resized->saveToFile($target_file);
It worked perfectly, and by using the "up" option, it only scales images smaller than the dimensions set up, and leaves everything else.
来源:https://stackoverflow.com/questions/3595661/resize-image-using-php-if-its-too-small