Skip to content

Commit 9f3a6e3

Browse files
revert: Return rokka/vips to normal dependencies
There is a plan to include libvips in the distributed and downloaded shared libraries to make it easier to switch to Vips
1 parent f4d4a49 commit 9f3a6e3

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

composer.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
"rindow/rindow-math-matrix": "^2.0",
2222
"rindow/rindow-matlib-ffi": "^1.0",
2323
"rindow/rindow-openblas-ffi": "^1.0",
24-
"symfony/console": "^6.4|^7.0"
24+
"symfony/console": "^6.4|^7.0",
25+
"rokka/imagine-vips": "^0.31.0"
2526
},
2627
"require-dev": {
2728
"pestphp/pest": "^2.31",
28-
"symfony/var-dumper": "^7.0",
29-
"rokka/imagine-vips": "^0.31.0"
29+
"symfony/var-dumper": "^7.0"
3030
},
3131
"suggest": {
3232
"ext-imagick": "Required to use the Imagick Driver for image processing",

examples/bootstrap.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77

88
require_once './vendor/autoload.php';
99

10-
Transformers::setup()->setImageDriver(ImageDriver::IMAGICK);
10+
Transformers::setup()->setImageDriver(ImageDriver::VIPS);
1111

examples/misc/background-removal.php

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
use Codewithkyrian\Transformers\Models\Auto\AutoModel;
66
use Codewithkyrian\Transformers\Processors\AutoProcessor;
77
use Codewithkyrian\Transformers\Utils\Image;
8-
use function Codewithkyrian\Transformers\Utils\{memoryUsage, timeUsage};
8+
use function Codewithkyrian\Transformers\Utils\{memoryPeak, memoryUsage, timeUsage};
99

1010
require_once './bootstrap.php';
1111

12-
ini_set('memory_limit', '256M');
13-
1412
$modelConfig = ['model_type' => 'custom'];
1513
$processorConfig = [
1614
'do_normalize' => true,
@@ -46,5 +44,5 @@
4644

4745
$maskedImage->save($fileName . '-masked.png');
4846

49-
dd('Done Processing!', timeUsage(), memoryUsage());
47+
dd('Done Processing!', timeUsage(), memoryUsage(), memoryPeak());
5048

src/Utils/Image.php

+10-8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Imagine\Image\ImageInterface;
1414
use Imagine\Image\Metadata\MetadataBag;
1515
use Imagine\Image\Point;
16+
use Imagine\Vips\Imagine;
1617
use InvalidArgumentException;
1718
use RuntimeException;
1819

@@ -91,18 +92,19 @@ public static function setDriver(ImageDriver $imageDriver): void
9192
self::$imagine = match ($imageDriver) {
9293
ImageDriver::IMAGICK => new \Imagine\Imagick\Imagine(),
9394
ImageDriver::GD => new \Imagine\Gd\Imagine(),
94-
ImageDriver::VIPS => new \Imagine\Vips\Imagine(),
95+
ImageDriver::VIPS => new Imagine(),
9596
};
97+
98+
if ($imageDriver === ImageDriver::VIPS) {
99+
$libsDir = basePath('libs');
100+
putenv("VIPSHOME=$libsDir");
101+
}
96102
}
97103

98104
public static function getImagine(): AbstractImagine
99105
{
100106
if (!isset(self::$imagine)) {
101-
self::$imagine = match (Transformers::getImageDriver()) {
102-
ImageDriver::IMAGICK => new \Imagine\Imagick\Imagine(),
103-
ImageDriver::GD => new \Imagine\Gd\Imagine(),
104-
ImageDriver::VIPS => new \Imagine\Vips\Imagine(),
105-
};
107+
self::setDriver(Transformers::getImageDriver());
106108
}
107109

108110
return self::$imagine;
@@ -183,9 +185,9 @@ public function thumbnail(int $width, int $height, int|Resample $resample = 2):
183185
}
184186

185187
if ($inputHeight > $inputWidth) {
186-
$width = (int)floor($inputWidth * $height / $inputHeight);
188+
$width = (int)floor($inputWidth * $height / $inputHeight);
187189
} elseif ($inputWidth > $inputHeight) {
188-
$height = (int)floor($inputHeight * $width / $inputWidth);
190+
$height = (int)floor($inputHeight * $width / $inputWidth);
189191
}
190192

191193
return $this->resize($width, $height, $resample);

0 commit comments

Comments
 (0)