mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
Upgrade to libvips v8.11.0-rc1
This commit is contained in:
parent
7467fa8b50
commit
cbaec198a5
@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v0.28 - *circle*
|
||||||
|
|
||||||
|
Requires libvips v8.11.0
|
||||||
|
|
||||||
|
### v0.29.0 - TBD
|
||||||
|
|
||||||
## v0.28 - *bijou*
|
## v0.28 - *bijou*
|
||||||
|
|
||||||
Requires libvips v8.10.6
|
Requires libvips v8.10.6
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"config": {
|
"config": {
|
||||||
"libvips": "8.10.6",
|
"libvips": "8.11.0-rc1",
|
||||||
"runtime": "napi",
|
"runtime": "napi",
|
||||||
"target": 3
|
"target": 3
|
||||||
},
|
},
|
||||||
|
@ -25,9 +25,9 @@
|
|||||||
// Verify platform and compiler compatibility
|
// Verify platform and compiler compatibility
|
||||||
|
|
||||||
#if (VIPS_MAJOR_VERSION < 8) || \
|
#if (VIPS_MAJOR_VERSION < 8) || \
|
||||||
(VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION < 10) || \
|
(VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION < 11) || \
|
||||||
(VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION == 10 && VIPS_MICRO_VERSION < 6)
|
(VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION == 11 && VIPS_MICRO_VERSION < 0)
|
||||||
#error "libvips version 8.10.6+ is required - please see https://sharp.pixelplumbing.com/install"
|
#error "libvips version 8.11.0+ is required - please see https://sharp.pixelplumbing.com/install"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ((!defined(__clang__)) && defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)))
|
#if ((!defined(__clang__)) && defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)))
|
||||||
|
@ -110,19 +110,6 @@ VSource::new_from_options( const char *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
VOption *
|
|
||||||
VOption::set( const char *name, const VSource value )
|
|
||||||
{
|
|
||||||
Pair *pair = new Pair( name );
|
|
||||||
|
|
||||||
pair->input = true;
|
|
||||||
g_value_init( &pair->value, VIPS_TYPE_SOURCE );
|
|
||||||
g_value_set_object( &pair->value, value.get_source() );
|
|
||||||
options.push_back( pair );
|
|
||||||
|
|
||||||
return( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
VTarget
|
VTarget
|
||||||
VTarget::new_to_descriptor( int descriptor )
|
VTarget::new_to_descriptor( int descriptor )
|
||||||
{
|
{
|
||||||
@ -162,17 +149,4 @@ VTarget::new_to_memory()
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
VOption *
|
|
||||||
VOption::set( const char *name, const VTarget value )
|
|
||||||
{
|
|
||||||
Pair *pair = new Pair( name );
|
|
||||||
|
|
||||||
pair->input = true;
|
|
||||||
g_value_init( &pair->value, VIPS_TYPE_TARGET );
|
|
||||||
g_value_set_object( &pair->value, value.get_target() );
|
|
||||||
options.push_back( pair );
|
|
||||||
|
|
||||||
return( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
VIPS_NAMESPACE_END
|
VIPS_NAMESPACE_END
|
||||||
|
@ -51,6 +51,12 @@
|
|||||||
|
|
||||||
VIPS_NAMESPACE_START
|
VIPS_NAMESPACE_START
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \namespace vips
|
||||||
|
*
|
||||||
|
* General docs for the vips namespace.
|
||||||
|
*/
|
||||||
|
|
||||||
std::vector<double>
|
std::vector<double>
|
||||||
to_vectorv( int n, ... )
|
to_vectorv( int n, ... )
|
||||||
{
|
{
|
||||||
@ -140,6 +146,20 @@ VOption::set( const char *name, int value )
|
|||||||
return( this );
|
return( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// input guint64
|
||||||
|
VOption *
|
||||||
|
VOption::set( const char *name, guint64 value )
|
||||||
|
{
|
||||||
|
Pair *pair = new Pair( name );
|
||||||
|
|
||||||
|
pair->input = true;
|
||||||
|
g_value_init( &pair->value, G_TYPE_UINT64 );
|
||||||
|
g_value_set_uint64( &pair->value, value );
|
||||||
|
options.push_back( pair );
|
||||||
|
|
||||||
|
return( this );
|
||||||
|
}
|
||||||
|
|
||||||
// input double
|
// input double
|
||||||
VOption *
|
VOption *
|
||||||
VOption::set( const char *name, double value )
|
VOption::set( const char *name, double value )
|
||||||
@ -167,39 +187,17 @@ VOption::set( const char *name, const char *value )
|
|||||||
return( this );
|
return( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
// input image
|
// input vips object (image, source, target, etc. etc.)
|
||||||
VOption *
|
VOption *
|
||||||
VOption::set( const char *name, const VImage value )
|
VOption::set( const char *name, const VObject value )
|
||||||
{
|
{
|
||||||
Pair *pair = new Pair( name );
|
Pair *pair = new Pair( name );
|
||||||
|
VipsObject *object = value.get_object();
|
||||||
|
GType type = G_OBJECT_TYPE( object );
|
||||||
|
|
||||||
pair->input = true;
|
pair->input = true;
|
||||||
g_value_init( &pair->value, VIPS_TYPE_IMAGE );
|
g_value_init( &pair->value, type );
|
||||||
g_value_set_object( &pair->value, value.get_image() );
|
g_value_set_object( &pair->value, object );
|
||||||
options.push_back( pair );
|
|
||||||
|
|
||||||
return( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
// input double array
|
|
||||||
VOption *
|
|
||||||
VOption::set( const char *name, std::vector<double> value )
|
|
||||||
{
|
|
||||||
Pair *pair = new Pair( name );
|
|
||||||
|
|
||||||
double *array;
|
|
||||||
unsigned int i;
|
|
||||||
|
|
||||||
pair->input = true;
|
|
||||||
|
|
||||||
g_value_init( &pair->value, VIPS_TYPE_ARRAY_DOUBLE );
|
|
||||||
vips_value_set_array_double( &pair->value, NULL,
|
|
||||||
static_cast< int >( value.size() ) );
|
|
||||||
array = vips_value_get_array_double( &pair->value, NULL );
|
|
||||||
|
|
||||||
for( i = 0; i < value.size(); i++ )
|
|
||||||
array[i] = value[i];
|
|
||||||
|
|
||||||
options.push_back( pair );
|
options.push_back( pair );
|
||||||
|
|
||||||
return( this );
|
return( this );
|
||||||
@ -229,6 +227,30 @@ VOption::set( const char *name, std::vector<int> value )
|
|||||||
return( this );
|
return( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// input double array
|
||||||
|
VOption *
|
||||||
|
VOption::set( const char *name, std::vector<double> value )
|
||||||
|
{
|
||||||
|
Pair *pair = new Pair( name );
|
||||||
|
|
||||||
|
double *array;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
pair->input = true;
|
||||||
|
|
||||||
|
g_value_init( &pair->value, VIPS_TYPE_ARRAY_DOUBLE );
|
||||||
|
vips_value_set_array_double( &pair->value, NULL,
|
||||||
|
static_cast< int >( value.size() ) );
|
||||||
|
array = vips_value_get_array_double( &pair->value, NULL );
|
||||||
|
|
||||||
|
for( i = 0; i < value.size(); i++ )
|
||||||
|
array[i] = value[i];
|
||||||
|
|
||||||
|
options.push_back( pair );
|
||||||
|
|
||||||
|
return( this );
|
||||||
|
}
|
||||||
|
|
||||||
// input image array
|
// input image array
|
||||||
VOption *
|
VOption *
|
||||||
VOption::set( const char *name, std::vector<VImage> value )
|
VOption::set( const char *name, std::vector<VImage> value )
|
||||||
@ -619,6 +641,22 @@ VImage::new_from_source( VSource source, const char *option_string,
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage
|
||||||
|
VImage::new_from_memory_steal( void *data, size_t size,
|
||||||
|
int width, int height, int bands, VipsBandFormat format )
|
||||||
|
{
|
||||||
|
VipsImage *image;
|
||||||
|
|
||||||
|
if( !(image = vips_image_new_from_memory( data, size,
|
||||||
|
width, height, bands, format )) )
|
||||||
|
throw( VError() );
|
||||||
|
|
||||||
|
g_signal_connect( image, "postclose",
|
||||||
|
G_CALLBACK( vips_image_free_buffer ), data);
|
||||||
|
|
||||||
|
return( VImage( image ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage
|
VImage
|
||||||
VImage::new_matrix( int width, int height )
|
VImage::new_matrix( int width, int height )
|
||||||
{
|
{
|
||||||
|
@ -60,17 +60,4 @@ VInterpolate::new_from_name( const char *name, VOption *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
VOption *
|
|
||||||
VOption::set( const char *name, const VInterpolate value )
|
|
||||||
{
|
|
||||||
Pair *pair = new Pair( name );
|
|
||||||
|
|
||||||
pair->input = true;
|
|
||||||
g_value_init( &pair->value, VIPS_TYPE_INTERPOLATE );
|
|
||||||
g_value_set_object( &pair->value, value.get_interpolate() );
|
|
||||||
options.push_back( pair );
|
|
||||||
|
|
||||||
return( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
VIPS_NAMESPACE_END
|
VIPS_NAMESPACE_END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// bodies for vips operations
|
// bodies for vips operations
|
||||||
// Sun 5 Jul 22:36:37 BST 2020
|
// Wed May 12 11:30:00 AM CEST 2021
|
||||||
// this file is generated automatically, do not edit!
|
// this file is generated automatically, do not edit!
|
||||||
|
|
||||||
VImage VImage::CMC2LCh( VOption *options ) const
|
VImage VImage::CMC2LCh( VOption *options ) const
|
||||||
@ -1065,6 +1065,18 @@ VImage VImage::fitsload( const char *filename, VOption *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::fitsload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "fitsload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
void VImage::fitssave( const char *filename, VOption *options ) const
|
void VImage::fitssave( const char *filename, VOption *options ) const
|
||||||
{
|
{
|
||||||
call( "fitssave",
|
call( "fitssave",
|
||||||
@ -1656,6 +1668,70 @@ VImage VImage::join( VImage in2, VipsDirection direction, VOption *options ) con
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::jp2kload( const char *filename, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jp2kload",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "filename", filename ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
VImage VImage::jp2kload_buffer( VipsBlob *buffer, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jp2kload_buffer",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "buffer", buffer ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
VImage VImage::jp2kload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jp2kload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
void VImage::jp2ksave( const char *filename, VOption *options ) const
|
||||||
|
{
|
||||||
|
call( "jp2ksave",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "filename", filename ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
VipsBlob *VImage::jp2ksave_buffer( VOption *options ) const
|
||||||
|
{
|
||||||
|
VipsBlob *buffer;
|
||||||
|
|
||||||
|
call( "jp2ksave_buffer",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "buffer", &buffer ) );
|
||||||
|
|
||||||
|
return( buffer );
|
||||||
|
}
|
||||||
|
|
||||||
|
void VImage::jp2ksave_target( VTarget target, VOption *options ) const
|
||||||
|
{
|
||||||
|
call( "jp2ksave_target",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "target", target ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage VImage::jpegload( const char *filename, VOption *options )
|
VImage VImage::jpegload( const char *filename, VOption *options )
|
||||||
{
|
{
|
||||||
VImage out;
|
VImage out;
|
||||||
@ -1727,6 +1803,70 @@ void VImage::jpegsave_target( VTarget target, VOption *options ) const
|
|||||||
set( "target", target ) );
|
set( "target", target ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::jxlload( const char *filename, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jxlload",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "filename", filename ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
VImage VImage::jxlload_buffer( VipsBlob *buffer, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jxlload_buffer",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "buffer", buffer ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
VImage VImage::jxlload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "jxlload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
|
void VImage::jxlsave( const char *filename, VOption *options ) const
|
||||||
|
{
|
||||||
|
call( "jxlsave",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "filename", filename ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
VipsBlob *VImage::jxlsave_buffer( VOption *options ) const
|
||||||
|
{
|
||||||
|
VipsBlob *buffer;
|
||||||
|
|
||||||
|
call( "jxlsave_buffer",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "buffer", &buffer ) );
|
||||||
|
|
||||||
|
return( buffer );
|
||||||
|
}
|
||||||
|
|
||||||
|
void VImage::jxlsave_target( VTarget target, VOption *options ) const
|
||||||
|
{
|
||||||
|
call( "jxlsave_target",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "target", target ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage VImage::labelregions( VOption *options ) const
|
VImage VImage::labelregions( VOption *options ) const
|
||||||
{
|
{
|
||||||
VImage mask;
|
VImage mask;
|
||||||
@ -2284,6 +2424,18 @@ VImage VImage::niftiload( const char *filename, VOption *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::niftiload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "niftiload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
void VImage::niftisave( const char *filename, VOption *options ) const
|
void VImage::niftisave( const char *filename, VOption *options ) const
|
||||||
{
|
{
|
||||||
call( "niftisave",
|
call( "niftisave",
|
||||||
@ -2316,6 +2468,18 @@ VImage VImage::openslideload( const char *filename, VOption *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::openslideload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "openslideload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
VImage VImage::pdfload( const char *filename, VOption *options )
|
VImage VImage::pdfload( const char *filename, VOption *options )
|
||||||
{
|
{
|
||||||
VImage out;
|
VImage out;
|
||||||
@ -3388,6 +3552,18 @@ VImage VImage::vipsload( const char *filename, VOption *options )
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage VImage::vipsload_source( VSource source, VOption *options )
|
||||||
|
{
|
||||||
|
VImage out;
|
||||||
|
|
||||||
|
call( "vipsload_source",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "out", &out )->
|
||||||
|
set( "source", source ) );
|
||||||
|
|
||||||
|
return( out );
|
||||||
|
}
|
||||||
|
|
||||||
void VImage::vipssave( const char *filename, VOption *options ) const
|
void VImage::vipssave( const char *filename, VOption *options ) const
|
||||||
{
|
{
|
||||||
call( "vipssave",
|
call( "vipssave",
|
||||||
@ -3396,6 +3572,14 @@ void VImage::vipssave( const char *filename, VOption *options ) const
|
|||||||
set( "filename", filename ) );
|
set( "filename", filename ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VImage::vipssave_target( VTarget target, VOption *options ) const
|
||||||
|
{
|
||||||
|
call( "vipssave_target",
|
||||||
|
(options ? options : VImage::option())->
|
||||||
|
set( "in", *this )->
|
||||||
|
set( "target", target ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage VImage::webpload( const char *filename, VOption *options )
|
VImage VImage::webpload( const char *filename, VOption *options )
|
||||||
{
|
{
|
||||||
VImage out;
|
VImage out;
|
||||||
|
@ -247,7 +247,7 @@ describe('Image metadata', function () {
|
|||||||
assert.strictEqual('undefined', typeof metadata.size);
|
assert.strictEqual('undefined', typeof metadata.size);
|
||||||
assert.strictEqual(800, metadata.width);
|
assert.strictEqual(800, metadata.width);
|
||||||
assert.strictEqual(533, metadata.height);
|
assert.strictEqual(533, metadata.height);
|
||||||
assert.strictEqual(true, [3, 4].includes(metadata.channels)); // libvips 8.11.0 = 4
|
assert.strictEqual(4, metadata.channels);
|
||||||
assert.strictEqual('uchar', metadata.depth);
|
assert.strictEqual('uchar', metadata.depth);
|
||||||
assert.strictEqual('undefined', typeof metadata.density);
|
assert.strictEqual('undefined', typeof metadata.density);
|
||||||
assert.strictEqual('undefined', typeof metadata.chromaSubsampling);
|
assert.strictEqual('undefined', typeof metadata.chromaSubsampling);
|
||||||
@ -266,7 +266,7 @@ describe('Image metadata', function () {
|
|||||||
assert.strictEqual('undefined', typeof metadata.size);
|
assert.strictEqual('undefined', typeof metadata.size);
|
||||||
assert.strictEqual(2, metadata.width);
|
assert.strictEqual(2, metadata.width);
|
||||||
assert.strictEqual(1, metadata.height);
|
assert.strictEqual(1, metadata.height);
|
||||||
assert.strictEqual(true, [2, 4].includes(metadata.channels)); // libvips 8.11.0 = 4
|
assert.strictEqual(4, metadata.channels);
|
||||||
assert.strictEqual('uchar', metadata.depth);
|
assert.strictEqual('uchar', metadata.depth);
|
||||||
assert.strictEqual('undefined', typeof metadata.density);
|
assert.strictEqual('undefined', typeof metadata.density);
|
||||||
assert.strictEqual('undefined', typeof metadata.chromaSubsampling);
|
assert.strictEqual('undefined', typeof metadata.chromaSubsampling);
|
||||||
@ -320,7 +320,7 @@ describe('Image metadata', function () {
|
|||||||
assert.strictEqual(isProgressive, false);
|
assert.strictEqual(isProgressive, false);
|
||||||
assert.strictEqual(pages, 10);
|
assert.strictEqual(pages, 10);
|
||||||
assert.strictEqual(pageHeight, 285);
|
assert.strictEqual(pageHeight, 285);
|
||||||
assert.strictEqual(true, [2, 3].includes(loop)); // libvips 8.11.0 = 2
|
assert.strictEqual(loop, 2);
|
||||||
assert.deepStrictEqual(delay, [...Array(9).fill(3000), 15000]);
|
assert.deepStrictEqual(delay, [...Array(9).fill(3000), 15000]);
|
||||||
assert.strictEqual(hasProfile, false);
|
assert.strictEqual(hasProfile, false);
|
||||||
assert.strictEqual(hasAlpha, true);
|
assert.strictEqual(hasAlpha, true);
|
||||||
|
@ -423,20 +423,20 @@ describe('Image Stats', function () {
|
|||||||
assert.strictEqual(true, isInRange(stats.channels[0].maxY, 0, 1));
|
assert.strictEqual(true, isInRange(stats.channels[0].maxY, 0, 1));
|
||||||
|
|
||||||
// alpha channel
|
// alpha channel
|
||||||
assert.strictEqual(0, stats.channels[1].min);
|
assert.strictEqual(0, stats.channels[3].min);
|
||||||
assert.strictEqual(255, stats.channels[1].max);
|
assert.strictEqual(255, stats.channels[3].max);
|
||||||
assert.strictEqual(true, isInAcceptableRange(stats.channels[1].sum, 255));
|
assert.strictEqual(true, isInAcceptableRange(stats.channels[3].sum, 255));
|
||||||
assert.strictEqual(true, isInAcceptableRange(stats.channels[1].squaresSum, 65025));
|
assert.strictEqual(true, isInAcceptableRange(stats.channels[3].squaresSum, 65025));
|
||||||
assert.strictEqual(true, isInAcceptableRange(stats.channels[1].mean, 127.5));
|
assert.strictEqual(true, isInAcceptableRange(stats.channels[3].mean, 127.5));
|
||||||
assert.strictEqual(true, isInAcceptableRange(stats.channels[1].stdev, 180.31222920256963));
|
assert.strictEqual(true, isInAcceptableRange(stats.channels[3].stdev, 180.31222920256963));
|
||||||
assert.strictEqual(true, isInteger(stats.channels[1].minX));
|
assert.strictEqual(true, isInteger(stats.channels[3].minX));
|
||||||
assert.strictEqual(true, isInRange(stats.channels[1].minX, 0, 2));
|
assert.strictEqual(true, isInRange(stats.channels[3].minX, 0, 2));
|
||||||
assert.strictEqual(true, isInteger(stats.channels[1].minY));
|
assert.strictEqual(true, isInteger(stats.channels[3].minY));
|
||||||
assert.strictEqual(true, isInRange(stats.channels[1].minY, 0, 1));
|
assert.strictEqual(true, isInRange(stats.channels[3].minY, 0, 1));
|
||||||
assert.strictEqual(true, isInteger(stats.channels[1].maxX));
|
assert.strictEqual(true, isInteger(stats.channels[3].maxX));
|
||||||
assert.strictEqual(true, isInRange(stats.channels[1].maxX, 0, 2));
|
assert.strictEqual(true, isInRange(stats.channels[3].maxX, 0, 2));
|
||||||
assert.strictEqual(true, isInteger(stats.channels[1].maxY));
|
assert.strictEqual(true, isInteger(stats.channels[3].maxY));
|
||||||
assert.strictEqual(true, isInRange(stats.channels[1].maxY, 0, 1));
|
assert.strictEqual(true, isInRange(stats.channels[3].maxY, 0, 1));
|
||||||
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user