David Carley
3af62446fc
Implements greyscale thresholding
2015-11-17 12:15:34 -06:00
David Carley
33a175eafb
Implements negation.
2015-11-17 10:18:59 -06:00
Lovell Fuller
5dfeaa9fd1
Ensure gaussian blur is applied before lbb interpolator #289
2015-11-16 08:26:35 +00:00
Lovell Fuller
84fd1caa46
Switch default interpolator to bicubic #289
...
Only use gaussian blur for non-linear interpolators
Improves performance of bilinear by ~15%
Add liborc to the packaged build to improve bicubic perf
Add examples of the various interpolation methods
Add bilinear vs bicubic to perf tests
2015-11-15 22:04:31 +00:00
Lovell Fuller
2678d761ba
Use FreeCallback to support mixed Windows runtime libs #152
2015-11-14 13:58:05 +00:00
Lovell Fuller
ede2ee9ce3
Use Persistent wrapper to prevent GC of input Buffer #152
...
Avoids memcpy of input and output Buffer objects
Improves Buffer and Stream performance by ~3%
2015-11-14 11:24:15 +00:00
Lovell Fuller
20f468991f
Start to use libvips 8.1.0+ features #152
...
Use native (un)premultiply
Support normalise on Windows
2015-11-12 22:14:53 +00:00
Lovell Fuller
58d9e0fef7
Pre-extract rotate should not swap width/height #296
2015-11-11 22:34:30 +00:00
Lovell Fuller
05cec013fe
Ensure support for more Linux flavours
...
Add docker-based packaging tests
2015-11-09 08:37:30 +00:00
Lovell Fuller
f4cbbd7b79
Ensure Windows CI uses x64
2015-11-07 20:22:17 +00:00
Brandon Aaron
25e5f27785
add corner gavity support
2015-10-27 15:10:10 -04:00
Brandon Aaron
79470d2e07
EXIF Orientation tags 2 and 4 were flipping instead of flopping
2015-10-16 15:41:40 -04:00
Chris Riley
ce2d7b8efc
Update pipeline.cc
...
In the upgrade to nan v2 that was part of v0.11.2 the baton values for blurSigma, sharpenFlat, and sharpenJagged were being cast to int32_t causing blur(sigma) and sharpen(radius, flat, jagged) to fail with "parameters out of range". This patch casts these baton values to doubles.
2015-09-06 12:29:07 -04:00
Lovell Fuller
409d15c624
Support EXIF Orientation removal in libvips v8.1.0
...
See #189 and jcupitt/libvips@fbe321e
2015-08-24 21:48:38 +01:00
Lovell Fuller
4e67a5025a
Use malloc for Nan::NewBuffer owned data
...
GC results in free() rather than delete[]
Add plenty of new valgrind suppressions
2015-08-24 16:14:49 +01:00
Lovell Fuller
b7e0a6f277
Upgrade to nan v2 #246
...
Provides support for io.js v3 and Node v4
2015-08-23 21:36:48 +01:00
Lovell Fuller
01435977de
Blur and sharpen ops always convolve
...
Partial revert of 36ac882
2015-08-12 07:25:14 +01:00
Lovell Fuller
36ac8828f2
Gamma correction and premultiply do not mix
...
Skip premultiply for fast blur/sharpen
Automate gamma correction tests
2015-08-11 21:51:22 +01:00
Lovell Fuller
de333eb02d
Add PPA details for Ubuntu LTS
...
Remove Mac OS from preinstall script - please use homebrew
2015-07-16 09:28:54 +01:00
Lovell Fuller
d303703dc5
Allow override of EXIF Orientation tag #189
...
Clear Orientation when rotate/flip/flop are used
2015-07-13 20:00:33 +01:00
Lovell Fuller
642e5687b6
Guard against unexpected overlay band format #97
2015-07-11 22:56:18 +01:00
Lovell Fuller
2ec845b083
Create normalize/blur/sharpen operations
...
Reduces pipeline by ~100 LOC
2015-07-11 21:44:39 +01:00
Lovell Fuller
b8885c1faa
Auto-width and height calcs now round instead of floor
...
I think this will better match people's expectations
2015-07-03 15:21:28 +01:00
Lovell Fuller
321e0f2bfe
Add 'icc' raw profile data to metadata #129
2015-06-29 21:27:23 +01:00
Lovell Fuller
6ac47c1ef8
Add raw EXIF data to metadata response
...
Copy metadata input buffer to match pipeline
Prevents possible metadata segfault under load
2015-06-28 23:35:40 +01:00
Lovell Fuller
86490bedfb
Add 'clone' method to snapshot an instance
...
Cloned instances share a common input
Allows multiple output Streams to use a single input Stream
2015-06-28 14:21:02 +01:00
Lovell Fuller
1091be374e
Alpha compositing: support grey+alpha src and non-alpha dst
2015-06-02 14:51:08 +01:00
Lovell Fuller
36be0453dd
Refactor internal 'resize' to more apt 'pipeline'
...
Refactor 'composite' C to C++ 'operations'
2015-06-01 16:33:26 +01:00
Lovell Fuller
f19b6c48ca
Skip normalise operation for images with one colour
...
It didn't play nicely with premultiplication
2015-06-01 14:21:02 +01:00
Lovell Fuller
8832ae0bf9
Add private maxColourDistance for functional tests
...
Switch MSE-based tests to use it
Remove experimental MSE-based compare API
2015-06-01 14:21:02 +01:00
Daniel Gasienica
ef8db1eebf
Premultiply alpha channel to avoid dark artifacts during tranformation
...
Add `Sharp.compare(file1, file2, callback)` function for comparing images
using mean squared error (MSE). This is useful for unit tests.
See:
- https://github.com/jcupitt/libvips/issues/291
- http://entropymine.com/imageworsener/resizealpha/
2015-06-01 14:21:02 +01:00
Lovell Fuller
c792a047b1
Ensure libvips version requirement
...
Should improve debugging, e.g. #222
2015-06-01 14:21:01 +01:00
Daniel Gasienica
64f7f1d662
Add experimental overlayWith
API
...
Composites an overlay image with alpha channel into the input image (which
must have alpha channel) using ‘over’ alpha compositing blend mode. This API
requires both images to have the same dimensions.
References:
- http://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending
- https://github.com/jcupitt/ruby-vips/issues/28#issuecomment-9014826
See #97 .
2015-06-01 14:21:01 +01:00
Lovell Fuller
fa8f06f07d
Include C standard library for 'atoi' #228
...
Xcode 6.3 appears to no longer do this
2015-05-31 19:05:18 +01:00
Lovell Fuller
e07a105b7c
Test availability of __has_feature macro
2015-05-11 11:54:53 +01:00
Lovell Fuller
4f72dcbf54
Verify platform/compiler compatibility #178 #214
2015-05-11 10:46:47 +01:00
Lovell Fuller
33782d3c83
Embed alpha image on non-transparent background #204
2015-04-29 20:14:45 +01:00
Lovell Fuller
d1fc0591a5
Silence Windows compiler warnings #19
2015-04-21 14:39:37 +01:00
Lovell Fuller
1e52c2dbe6
Windows compatibility #19
...
Hide WebP format and normalise option
Separate test runners for node and iojs
2015-04-21 12:13:19 +01:00
Lovell Fuller
8926ebc56c
Add Appveyor config for Windows CI
...
Silence 'possible loss of data' warning
2015-04-20 19:00:22 +01:00
Lovell Fuller
9da87ce868
Fix typo in conditional introduced in 8ac33aa
2015-04-20 17:50:47 +01:00
Bernhard K. Weisshuhn
8ac33aad69
avoid segfault with unknown interpolator
2015-04-20 00:24:03 +02:00
Lovell Fuller
a0655806de
No need to remove dzi file extension
...
libvips handles this - ensures filenames containing . work
2015-04-19 21:08:15 +01:00
Lovell Fuller
f6fd45cc90
Expose libjpeg extension param features
...
Trellis quantisation, overshoot deringing and scan optimisation
2015-04-19 16:15:40 +01:00
Bernhard K. Weisshuhn
dce36e0074
Add normalize() for simple histogram stretching
...
Available as normalize() or normalise().
Normalization takes place in LAB place and thus should not change any
colors.
Existing alpha channels are preserved untouched by normalization.
2015-04-18 12:55:04 +02:00
Alaric Holloway
f72435c750
Support resize without preserving aspect ratio #118
2015-04-16 06:50:47 -07:00
Lovell Fuller
3810f642d3
Add small cache before convolution for seq access
2015-04-14 21:31:20 +01:00
Lovell Fuller
ce6813329b
Improve code portability ahead of Windows support
2015-04-05 21:57:53 +01:00
Lovell Fuller
81c710eaa3
Add EventEmitter for queue length changes
...
Remove unnecessary params from Error handler
2015-03-20 15:44:18 +00:00
Lovell Fuller
9b5229f2dd
Support old and new Magick loader class names
...
See jcupitt/libvips@99b4bcb
2015-03-12 17:12:06 +00:00