Skip to content

Commit 7016c81

Browse files
committed
add vips_interpolate_new()
needed to be able to change the default interpolator for affine() see #6
1 parent 61b7fbc commit 7016c81

File tree

8 files changed

+92
-14
lines changed

8 files changed

+92
-14
lines changed

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
vips extension changelog
22

3+
Version 1.0.7 (2017-6-5)
4+
--------------------------
5+
* Add vips_interpolate_new()
6+
37
Version 1.0.6 (2017-4-15)
48
--------------------------
59
* Add vips_image_copy_memory()

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ libvips website, or build your own.
9191
$ pear package
9292
```
9393

94-
to make `vips-1.0.6.tgz`.
94+
to make `vips-1.0.7.tgz`.
9595

9696
To install by hand:
9797

File renamed without changes.

package.xml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
1717
</lead>
1818
<date>2017-04-17</date>
1919
<version>
20-
<release>1.0.6</release>
20+
<release>1.0.7</release>
2121
<api>1.0.0</api>
2222
</version>
2323
<stability>
@@ -26,7 +26,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
2626
</stability>
2727
<license filesource="LICENSE.txt">MIT</license>
2828
<notes>
29-
* Add vips_image_copy_memory()
29+
* Add vips_interpolate_new()
3030
</notes>
3131
<contents>
3232
<dir name="/">
@@ -69,6 +69,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
6969
<file role='test' name='032.phpt'/>
7070
<file role='test' name='033.phpt'/>
7171
<file role='test' name='034.phpt'/>
72+
<file role='test' name='035.phpt'/>
73+
<file role='test' name='036.phpt'/>
7274

7375
<dir name="images">
7476
<file role='test' name='img_0076.jpg'/>
@@ -92,6 +94,15 @@ http://pear.php.net/dtd/package-2.0.xsd">
9294
</extsrcrelease>
9395
<changelog>
9496

97+
<release>
98+
<stability><release>stable</release><api>stable</api></stability>
99+
<version><release>1.0.7</release><api>1.0.0</api></version>
100+
<date>2017-06-05</date>
101+
<notes>
102+
* Add vips_interpolate_new()
103+
</notes>
104+
</release>
105+
95106
<release>
96107
<stability><release>stable</release><api>stable</api></stability>
97108
<version><release>1.0.6</release><api>1.0.0</api></version>
@@ -101,7 +112,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
101112
</notes>
102113
</release>
103114

104-
<release>
115+
<release>
105116
<stability><release>stable</release><api>stable</api></stability>
106117
<version><release>1.0.5</release><api>1.0.0</api></version>
107118
<date>2017-03-11</date>
@@ -112,7 +123,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
112123
</notes>
113124
</release>
114125

115-
<release>
126+
<release>
116127
<stability><release>stable</release><api>stable</api></stability>
117128
<version><release>1.0.4</release><api>1.0.0</api></version>
118129
<date>2016-12-30</date>
@@ -122,7 +133,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
122133
</notes>
123134
</release>
124135

125-
<release>
136+
<release>
126137
<stability><release>stable</release><api>stable</api></stability>
127138
<version><release>1.0.3</release><api>1.0.0</api></version>
128139
<date>2016-12-27</date>
@@ -132,7 +143,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
132143
</notes>
133144
</release>
134145

135-
<release>
146+
<release>
136147
<stability><release>stable</release><api>stable</api></stability>
137148
<version><release>1.0.2</release><api>1.0.0</api></version>
138149
<date>2016-12-06</date>
@@ -141,7 +152,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
141152
</notes>
142153
</release>
143154

144-
<release>
155+
<release>
145156
<stability><release>stable</release><api>stable</api></stability>
146157
<version><release>1.0.1</release><api>1.0.0</api></version>
147158
<date>2016-11-25</date>
@@ -150,7 +161,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
150161
</notes>
151162
</release>
152163

153-
<release>
164+
<release>
154165
<stability><release>stable</release><api>stable</api></stability>
155166
<version><release>1.0.0</release><api>1.0.0</api></version>
156167
<date>2016-11-24</date>
@@ -159,7 +170,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
159170
</notes>
160171
</release>
161172

162-
<release>
173+
<release>
163174
<stability><release>alpha</release><api>alpha</api></stability>
164175
<version><release>0.1.3</release><api>0.1.3</api></version>
165176
<date>2016-11-5</date>
@@ -168,7 +179,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
168179
</notes>
169180
</release>
170181

171-
<release>
182+
<release>
172183
<stability><release>alpha</release><api>alpha</api></stability>
173184
<version><release>0.1.2</release><api>0.1.2</api></version>
174185
<date>2016-10-24</date>
@@ -178,7 +189,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
178189
</notes>
179190
</release>
180191

181-
<release>
192+
<release>
182193
<stability><release>alpha</release><api>alpha</api></stability>
183194
<version><release>0.1.1</release><api>0.1.1</api></version>
184195
<date>2016-10-20</date>
@@ -195,7 +206,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
195206
</notes>
196207
</release>
197208

198-
<release>
209+
<release>
199210
<stability><release>alpha</release><api>alpha</api></stability>
200211
<version><release>0.1.0</release><api>0.1.0</api></version>
201212
<date>2016-09-20</date>

php_vips.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
extern zend_module_entry vips_module_entry;
66
#define phpext_vips_ptr &vips_module_entry
77

8-
#define PHP_VIPS_VERSION "1.0.6"
8+
#define PHP_VIPS_VERSION "1.0.7"
99

1010
#ifdef PHP_WIN32
1111
# define PHP_VIPS_API __declspec(dllexport)

tests/035.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
can make an interpolator
3+
--SKIPIF--
4+
<?php if (!extension_loaded("vips")) print "skip"; ?>
5+
--FILE--
6+
<?php
7+
$interp = vips_interpolate_new("bicubic");
8+
9+
if ($interp != -1) {
10+
echo "pass";
11+
}
12+
?>
13+
--EXPECT--
14+
pass

tests/036.phpt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
can enlarge with a bicubic interpolator
3+
--SKIPIF--
4+
<?php if (!extension_loaded("vips")) print "skip"; ?>
5+
--FILE--
6+
<?php
7+
$filename = dirname(__FILE__) . "/images/img_0076.jpg";
8+
$image1 = vips_image_new_from_file($filename)["out"];
9+
$interp = vips_interpolate_new("bicubic");
10+
11+
$sz = vips_call("affine", $image1, [2, 0, 0, 2], ["interpolate" => $interp])["out"];
12+
13+
$w1 = vips_image_get($image1, "width")["out"];
14+
$wr = vips_image_get($sz, "width")["out"];
15+
16+
if ($w1 * 2 == $wr) {
17+
echo "pass";
18+
}
19+
?>
20+
--EXPECT--
21+
pass

vips.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,6 +1237,29 @@ PHP_FUNCTION(vips_image_new_from_array)
12371237
}
12381238
/* }}} */
12391239

1240+
/* {{{ proto resource vips_interpolate_new(string name])
1241+
make a new interpolator */
1242+
PHP_FUNCTION(vips_interpolate_new)
1243+
{
1244+
char *name;
1245+
size_t name_len;
1246+
VipsInterpolate *interp;
1247+
1248+
VIPS_DEBUG_MSG("vips_interpolate_new:\n");
1249+
1250+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "p",
1251+
&name, &name_len) == FAILURE) {
1252+
return;
1253+
}
1254+
VIPS_DEBUG_MSG("vips_interpolate_new: name = %s\n", name);
1255+
1256+
if (!(interp = vips_interpolate_new(name)))
1257+
return;
1258+
1259+
RETURN_RES(zend_register_resource(interp, le_gobject));
1260+
}
1261+
/* }}} */
1262+
12401263
/* {{{ proto long vips_image_write_to_file(resource image, string filename [, array options])
12411264
Write an image to a filename */
12421265
PHP_FUNCTION(vips_image_write_to_file)
@@ -1896,6 +1919,10 @@ ZEND_BEGIN_ARG_INFO(arginfo_vips_foreign_find_load, 0)
18961919
ZEND_ARG_INFO(0, filename)
18971920
ZEND_END_ARG_INFO()
18981921

1922+
ZEND_BEGIN_ARG_INFO(arginfo_vips_interpolate_new, 0)
1923+
ZEND_ARG_INFO(0, name)
1924+
ZEND_END_ARG_INFO()
1925+
18991926
ZEND_BEGIN_ARG_INFO(arginfo_vips_foreign_find_load_buffer, 0)
19001927
ZEND_ARG_INFO(0, buffer)
19011928
ZEND_END_ARG_INFO()
@@ -1958,6 +1985,7 @@ const zend_function_entry vips_functions[] = {
19581985
PHP_FE(vips_image_copy_memory, arginfo_vips_image_copy_memory)
19591986
PHP_FE(vips_foreign_find_load, arginfo_vips_foreign_find_load)
19601987
PHP_FE(vips_foreign_find_load_buffer, arginfo_vips_foreign_find_load_buffer)
1988+
PHP_FE(vips_interpolate_new, arginfo_vips_interpolate_new)
19611989

19621990
PHP_FE(vips_call, arginfo_vips_call)
19631991
PHP_FE(vips_image_get, arginfo_vips_image_get)

0 commit comments

Comments
 (0)