Commit Graph

1085 Commits

Author SHA1 Message Date
John Cupitt
7b19ad8dc1 composite subimage positioning almost done
--x fails though? odd

vips composite2 Gugg_coloured.jpg PNG_transparency.png x.jpg over --x 600 --y 100

--x causes the dice to clip, but not translate
2018-12-06 18:28:55 +00:00
John Cupitt
cff4af34ca add vips_image_set_blob_copy()
and use it where we can
2018-11-23 16:27:39 +00:00
John Cupitt
8fa3b0aa1c start trying to fix up blob/string mixups
we often set strings as blobs (eg. libtiff uses pointer/length for
XML and does not null-terminate) ... when do we validate stringiness,
and add the missing null?
2018-11-22 09:15:57 +00:00
John Cupitt
9ac5a449f2 add low/high to smartcrop
smartcrop attention had a centre setting, but not low or high

see https://github.com/libvips/libvips/issues/1089
2018-09-22 14:47:40 +01:00
John Cupitt
1702529be0 add a compat stub for vips_region_shrink()
to keep ABI compat with 8.6
2018-08-29 09:50:35 +01:00
John Cupitt
fec2f5f869 make vips_object_get_args() return an int
since malloc can fail
2018-08-20 08:45:46 +01:00
Kleis Auke Wolthuizen
b5b756b817 Add vips_object_get_args
Handy for language bindings.
2018-08-19 22:42:26 +02:00
John Cupitt
8730d8ddf1 add nifti ext save 2018-07-20 18:20:26 +01:00
John Cupitt
6dc6b4f722 add niftiload skeleton 2018-06-29 17:31:17 +01:00
John Cupitt
a373d2c876 add changelog notes for region_shrink 2018-06-13 17:36:36 +01:00
John Cupitt
2c7684669f
Merge branch 'master' into region-shrink-method 2018-06-13 17:13:16 +01:00
John Cupitt
3b1e3e1841 add Mitchell kernel
see https://github.com/jcupitt/libvips/issues/966
2018-06-12 12:55:10 +01:00
John Cupitt
892fa2eeba Merge branch 'master' of github.com:jcupitt/libvips 2018-06-01 19:46:42 +01:00
John Cupitt
e9aaedc60a fix some compiler warnings
from the msvc patch
2018-06-01 19:44:43 +01:00
John Cupitt
0c8552d3fc fix some compiler warnings
from the MSVC patches, and add a changelog line
2018-06-01 16:02:09 +01:00
Angel Sánchez
258311cec2 performing arithmetic on a void* is not in the standard C, GCC uses an extension for using it, in VS2017 this is non-existant, so the recommended way is to cast to char* to perform increments on the pointer 2018-05-31 13:53:31 +02:00
Angel Sánchez
256cf494a3 use VIPS_PI instead of M_PI as the former is already defined, added missing includes with their macro protection 2018-05-31 13:50:50 +02:00
John Cupitt
d251b37d92 add vips_argument_get_id()
We had a global we incremented to allocate property ids, but of course that
won't work with DLLs. Instead, add vips_argument_get_id() and call that to
allocate new prop ids.

See:

https://github.com/jcupitt/libvips/issues/985
2018-05-29 16:49:20 +01:00
John Cupitt
b085908558 remove vips7 stuff from API
You must now include vips7 support explicitly with

	#include <vips/vips7compat.h>

in your code just after including `vips.h`.

The old vips7 names, such as `Rect`, were starting to cause problems
with other packages like opencv.
2018-05-16 15:08:21 +01:00
Felix Bünemann
d3439f4d49 Fix wrong value for VIPS_FOREIGN_PNG_FILTER_ALL
The value is derived by oring all the filter flags:

    0x08 | 0x10 | 0x20 | 0x40 | 0x80 == 0xf8

The value was also checked against PNG_ALL_FILTERS in png.h.
2018-05-02 21:50:08 +02:00
John Cupitt
e496df598b working! 2018-05-01 15:50:48 +01:00
John Cupitt
9ac45f42e3 needs testing still 2018-04-30 17:38:32 +01:00
John Cupitt
b752d2e442
Merge branch 'master' into region-shrink-method 2018-04-27 15:58:24 +01:00
John Cupitt
da6f4fd043 add n-pages metadata item
tiff, magick and pdf load now attach an n-pages metadata item recording
the number of pages in the orginal file

see https://github.com/jcupitt/libvips/issues/953
2018-04-26 08:55:31 +01:00
John Cupitt
a40382fe50 Merge branch '8.6' 2018-04-23 15:18:17 +01:00
John Cupitt
18c50c3231 typo in configure.ac 2018-04-23 15:17:53 +01:00
John Cupitt
e686614f2c drop incompatible profiles from save
libpng has started throwing hard errors if the profile does not match
the image -- this can happen all the time with perofiles inherited from
images that have been processed.

Test profiles before save and drop them (with a warning) if they are
incompatible with the image.
2018-04-01 10:32:48 +01:00
Simon Harris
a14f3acdf5 Adds a first cut for region shrink mode 2018-03-28 21:59:17 +11:00
Simon Harris
36076f8294 Adds VipsRegionShrink type 2018-03-28 07:35:49 +11:00
Simon Harris
eada4a7731 Adds MEAN and MEDIAN methods for region shrink 2018-03-27 21:15:48 +11:00
John Cupitt
5176b4a17e better header sniffing for small files
vips__get_bytes() used to fail if the file was too small for the
allocated buffer, which was a problem for svg, since files can be extremely
small.

This change makes vips__get_bytes() return the number of bytes read, so
the is_a testers can work on files smaller than the max header size.
2018-03-22 12:08:39 +00:00
John Cupitt
754a1e5419 Merge branch 'master' into add-canny 2018-03-14 14:18:39 +00:00
John Cupitt
08dcf29b10 add vips_rotate()
vips_similarity() was a little hatrd to discover, so add vips_rotate()
as a more obvious name for it
2018-03-10 18:45:39 +00:00
John Cupitt
6e0e31a534 Merge branch '8.6' into add-canny 2018-03-05 15:21:30 +00:00
John Cupitt
6fae79b60d Merge branch '8.6' 2018-03-05 15:09:08 +00:00
John Cupitt
20d840e6da fix a crash with delayed load
If a delayed load failed, it could leave the pipeline only half-set up.
Sebsequent threads could then segv.

Set a load-has-failed flag and test before generate.

See https://github.com/jcupitt/libvips/issues/893
2018-03-05 14:42:09 +00:00
John Cupitt
4a59fa652c make vips_sobel()
cut out of vips_canny()
2018-02-26 18:33:20 +00:00
John Cupitt
a93e8dd079 start adding canny
just adding edge thinning

see https://en.wikipedia.org/wiki/Canny_edge_detector
2018-02-02 17:00:23 +00:00
John Cupitt
18f530c724 Merge branch '8.6' 2018-01-12 12:02:41 +00:00
John Cupitt
24c07cfde2 revert an accidental ABI break
the new window manager code in 8.6.1 changed the prototype of an internal
function which was visible in the public API

this patch renames the function, adds it to an internal header instead,
and adds a stub for the old prototype

see https://github.com/jcupitt/libvips/issues/854
2018-01-12 11:56:17 +00:00
John Cupitt
a128149009 Merge branch '8.6' 2017-12-31 10:39:36 +00:00
John Cupitt
77287a938f fix misspelling of IPTC as IPCT
the letters have been accidentally swapped for years

add a compat macro so older code still works
2017-12-31 10:23:27 +00:00
John Cupitt
1b3329acc4 add C API wrappers for magicksave 2017-12-23 17:27:26 +00:00
John Cupitt
3c0a2e4837 fix window cycling
we were repeatedly free-ing and new-ing input mmap windows ... this made
things like zoom out on large images in nip2 much slower than they
needed to be
2017-12-10 17:37:07 +00:00
John Cupitt
c5139a0e50 doc fixups
various small things; fix the docs for composite, reduceh and reducev
2017-12-04 13:42:31 +00:00
John Cupitt
14fd2af396 add composite2 class
so we have a nice CLI interface to the new operator
2017-11-30 12:47:56 +00:00
John Cupitt
9c8790b40a setting EXIF data blocks sets other tags too
calling vips_image_set() to set the EXIF data block VIPS_META_EXIF_NAME
will automaticaly set other tags, like orientation etc.
2017-11-27 15:15:21 +00:00
John Cupitt
955a5a97cc sRGB2scRGB uses the colour luts directly
rather than going via a function that clips ... about 2x faster
2017-11-26 16:47:24 +00:00
John Cupitt
f9f717a843 add VIPS_ONCE and use it everywhere
Lovell's idea: save the function call in the most common case
2017-11-23 08:43:08 +00:00
John Cupitt
fcec6d639b fix jaggies on the edge of affine output
and add a "background" param
2017-11-17 16:30:25 +00:00