Skip to content

Commit e8fe53b

Browse files
committed
Add Imagick::swirlImageWithMethod
1 parent fcae30c commit e8fe53b

File tree

4 files changed

+76
-0
lines changed

4 files changed

+76
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
declare(strict_types = 1);
4+
5+
namespace ImagickDemo\Imagick\Controls;
6+
7+
8+
use ImagickDemo\Params\InterpolateType;
9+
use ImagickDemo\ToArray;
10+
use Params\Create\CreateFromVarMap;
11+
use Params\InputParameterListFromAttributes;
12+
use Params\SafeAccess;
13+
14+
use ImagickDemo\Params\Image;
15+
use ImagickDemo\Params\Swirl;
16+
17+
class SwirlImageWithMethodControl
18+
{
19+
use SafeAccess;
20+
use CreateFromVarMap;
21+
use ToArray;
22+
use InputParameterListFromAttributes;
23+
24+
public function __construct(
25+
#[Swirl('swirl')]
26+
private string $swirl,
27+
#[InterpolateType('interpolate_method')]
28+
private int $interpolate_method,
29+
#[Image('image_path')]
30+
private string $image_path,
31+
) {
32+
}
33+
34+
public function getValuesForForm(): array
35+
{
36+
return [
37+
'swirl' => $this->swirl,
38+
'interpolate_method' => getOptionFromOptions($this->interpolate_method, getInterpolateOptions()),
39+
'image_path' => getOptionFromOptions($this->image_path, getImagePathOptions()),
40+
];
41+
}
42+
}

src/ImagickDemo/Imagick/functions.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2905,6 +2905,16 @@ function swirlImage($image_path, $swirl)
29052905
}
29062906
//Example end
29072907

2908+
//Example Imagick::swirlImageWithMethod
2909+
function swirlImageWithMethod($image_path, $swirl, int $interpolate_method)
2910+
{
2911+
$imagick = new \Imagick(realpath($image_path));
2912+
$imagick->swirlImageWithMethod($swirl, $interpolate_method);
2913+
header("Content-Type: image/jpeg");
2914+
echo $imagick->getImageBlob();
2915+
}
2916+
//Example end
2917+
29082918
//Example Imagick::textureImage
29092919
function textureImage($image_path)
29102920
{
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
namespace ImagickDemo\Imagick;
4+
5+
use ImagickDemo\Imagick\Controls\SwirlImageWithMethodControl;
6+
7+
class swirlImageWithMethod extends \ImagickDemo\Example
8+
{
9+
public function renderTitle(): string
10+
{
11+
return "Imagick::swirlImageWithMethod";
12+
}
13+
14+
public function useImageControlAsOriginalImage()
15+
{
16+
return true;
17+
}
18+
19+
public static function getParamType(): string
20+
{
21+
return SwirlImageWithMethodControl::class;
22+
}
23+
}

src/example_list.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@ function getImagickExamples()
564564
'statisticImage' => 'statisticImage',
565565
'subImageMatch' => 'subImageMatch',
566566
'swirlImage' => 'swirlImage',
567+
'swirlImageWithMethod' => 'swirlImageWithMethod',
567568
'textureImage' => 'textureImage',
568569
'thresholdImage' => 'thresholdImage',
569570
'thumbnailImage' => 'thumbnailImage',

0 commit comments

Comments
 (0)