add composite shortcut to cpp
two composite just two images
This commit is contained in:
parent
f0aeed1c64
commit
e52d2c9f7f
|
@ -205,6 +205,30 @@ VOption::set( const char *name, std::vector<double> value )
|
||||||
return( this );
|
return( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// input int array
|
||||||
|
VOption *
|
||||||
|
VOption::set( const char *name, std::vector<int> value )
|
||||||
|
{
|
||||||
|
Pair *pair = new Pair( name );
|
||||||
|
|
||||||
|
int *array;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
pair->input = true;
|
||||||
|
|
||||||
|
g_value_init( &pair->value, VIPS_TYPE_ARRAY_INT );
|
||||||
|
vips_value_set_array_int( &pair->value, NULL,
|
||||||
|
static_cast< int >( value.size() ) );
|
||||||
|
array = vips_value_get_array_int( &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 )
|
||||||
|
@ -670,6 +694,17 @@ VImage::bandjoin( VImage other, VOption *options )
|
||||||
return( bandjoin( vec, options ) );
|
return( bandjoin( vec, options ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage
|
||||||
|
VImage::composite( VImage other, VipsBlendMode mode, VOption *options )
|
||||||
|
{
|
||||||
|
VImage v[2] = { *this, other };
|
||||||
|
std::vector<VImage> ivec( v, v + VIPS_NUMBER( v ) );
|
||||||
|
int m[1] = { static_cast<int>( mode ) };
|
||||||
|
std::vector<int> mvec( m, m + VIPS_NUMBER( m ) );
|
||||||
|
|
||||||
|
return( composite( ivec, mvec, options ) );
|
||||||
|
}
|
||||||
|
|
||||||
std::complex<double>
|
std::complex<double>
|
||||||
VImage::minpos( VOption *options )
|
VImage::minpos( VOption *options )
|
||||||
{
|
{
|
||||||
|
|
|
@ -219,6 +219,7 @@ public:
|
||||||
VOption *set( const char *name, VInterpolate value );
|
VOption *set( const char *name, VInterpolate value );
|
||||||
VOption *set( const char *name, std::vector<VImage> value );
|
VOption *set( const char *name, std::vector<VImage> value );
|
||||||
VOption *set( const char *name, std::vector<double> value );
|
VOption *set( const char *name, std::vector<double> value );
|
||||||
|
VOption *set( const char *name, std::vector<int> value );
|
||||||
VOption *set( const char *name, VipsBlob *value );
|
VOption *set( const char *name, VipsBlob *value );
|
||||||
|
|
||||||
VOption *set( const char *name, bool *value );
|
VOption *set( const char *name, bool *value );
|
||||||
|
@ -541,6 +542,9 @@ public:
|
||||||
return( bandjoin_const( other, options ) );
|
return( bandjoin_const( other, options ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage composite( VImage other, VipsBlendMode mode,
|
||||||
|
VOption *options = 0 );
|
||||||
|
|
||||||
std::complex<double> minpos( VOption *options = 0 );
|
std::complex<double> minpos( VOption *options = 0 );
|
||||||
|
|
||||||
std::complex<double> maxpos( VOption *options = 0 );
|
std::complex<double> maxpos( VOption *options = 0 );
|
||||||
|
|
Loading…
Reference in New Issue