1. Go to this page and download the library: Download quazardous/imagestack library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
quazardous / imagestack example snippets
function myImageController($path)
{
$stack = new \ImageStack\ImageStack(
new \ImageStack\ImageBackend\HttpImageBackend('https://images.example.com/backend/'),
new \ImageStack\StorageBackend\FileStorageBackend('/var/www/my/local/image/storage/'));
$oim = new \ImageStack\ImageManipulator\OptimizerImageManipulator();
$oim->registerImageOptimizer(new \ImageStack\ImageOptimizer\JpegtranImageOptimizer());
$stack->addImageManipulator($oim);
$image = $stack->stackImage(new \ImageStack\ImagePath($path));
return $image->getBinaryContent();
}
use ImageStack\ImageManipulator\ThumbnailerImageManipulator;
use Imagine\Gd\Imagine;
use ImageStack\ImagePath;
use ImageStack\ImageManipulator\ThumbnailRule\PatternThumbnailRule;
...
$rules = [
'|^images/styles/big/|' => '<500x300', // resize to fit in 500x300 box
'|^images/styles/box/|' => '200x200', // resize/crop to 200x200 box
'|^images/styles/list/|' => '100', // resize/crop to 100x100 box
'|^images/([0-9]+)x([0-9]+)/|' => function ($matches) { return "{$matches[1]}x{$matches[2]}"; }, // custom resize/crop
'|.*|' => false, // trigger an image not found exception if nothing matches
];
$tim = new ThumbnailerImageManipulator(new Imagine());
foreach ($rules as $pattern => $format) {
$tim->addThumbnailRule(new PatternThumbnailRule($pattern, $format));
}
// this will resize the given image to fit in a 500x300 box
$tim->manipulateImage($image, new ImagePath('images/styles/big/photo.jpg'));
// this will resize/crop the given image to a 200x200 box
$tim->manipulateImage($image, new ImagePath('images/200x150/photo.jpg'));
// this will rise a 404
$tim->manipulateImage($image, new ImagePath('bad/path/photo.jpg'));
use ImageStack\ImageManipulator\WatermarkImageManipulator;
use Imagine\Gd\Imagine;
use ImageStack\ImagePath;
...
// repeat the watermark
$wim = new WatermarkImageManipulator(new Imagine(), '/path/to/little-watermark.png', [
'repeat' => WatermarkImageManipulator::REPEAT_ALL,
]);
$wim->manipulateImage($image, new ImagePath('protected_image.jpg'));
// reduce and anchor a big the watermark
$wim = new WatermarkImageManipulator(new Imagine(), '/path/to/huge-watermark.png', [
'reduce' => WatermarkImageManipulator::REDUCE_INSET,
'anchor' => WatermarkImageManipulator::ANCHOR_BOTTOM|WatermarkImageManipulator::ANCHOR_RIGHT,
]);
$wim->manipulateImage($image, new ImagePath('protected_image.jpg'));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.