Merge branch 'master' into add-icc-fallbacks
This commit is contained in:
commit
75ebb162f9
@ -32,8 +32,6 @@
|
|||||||
#endif /*HAVE_CONFIG_H*/
|
#endif /*HAVE_CONFIG_H*/
|
||||||
#include <vips/intl.h>
|
#include <vips/intl.h>
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include <vips/vips8>
|
#include <vips/vips8>
|
||||||
|
|
||||||
VIPS_NAMESPACE_START
|
VIPS_NAMESPACE_START
|
||||||
|
@ -563,7 +563,7 @@ VImage::new_from_file( const char *name, VOption *options )
|
|||||||
}
|
}
|
||||||
|
|
||||||
VImage
|
VImage
|
||||||
VImage::new_from_buffer( void *buf, size_t len, const char *option_string,
|
VImage::new_from_buffer( const void *buf, size_t len, const char *option_string,
|
||||||
VOption *options )
|
VOption *options )
|
||||||
{
|
{
|
||||||
const char *operation_name;
|
const char *operation_name;
|
||||||
@ -588,6 +588,13 @@ VImage::new_from_buffer( void *buf, size_t len, const char *option_string,
|
|||||||
return( out );
|
return( out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage
|
||||||
|
VImage::new_from_buffer( const std::string &buf, const char *option_string,
|
||||||
|
VOption *options )
|
||||||
|
{
|
||||||
|
return( new_from_buffer( buf.c_str(), buf.size(), option_string, options ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage
|
VImage
|
||||||
VImage::new_matrix( int width, int height )
|
VImage::new_matrix( int width, int height )
|
||||||
{
|
{
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
#ifndef VIPS_VERROR_H
|
#ifndef VIPS_VERROR_H
|
||||||
#define VIPS_VERROR_H
|
#define VIPS_VERROR_H
|
||||||
|
|
||||||
#include <string>
|
#include <cstring>
|
||||||
#include <iosfwd>
|
#include <ostream>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
|
||||||
#include <vips/vips.h>
|
#include <vips/vips.h>
|
||||||
@ -43,7 +43,7 @@ class VIPS_CPLUSPLUS_API VError : public std::exception {
|
|||||||
std::string _what;
|
std::string _what;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
VError( std::string what ) : _what( what ) {}
|
VError( const std::string &what ) : _what( what ) {}
|
||||||
VError() : _what( vips_error_buffer() ) {}
|
VError() : _what( vips_error_buffer() ) {}
|
||||||
virtual ~VError() throw() {}
|
virtual ~VError() throw() {}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#include <complex>
|
#include <complex>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <string.h>
|
#include <cstring>
|
||||||
|
|
||||||
#include <vips/vips.h>
|
#include <vips/vips.h>
|
||||||
|
|
||||||
@ -327,6 +327,12 @@ public:
|
|||||||
return( vips_image_get_yoffset( get_image() ) );
|
return( vips_image_get_yoffset( get_image() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
has_alpha() const
|
||||||
|
{
|
||||||
|
return( vips_image_hasalpha( get_image() ) );
|
||||||
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
filename() const
|
filename() const
|
||||||
{
|
{
|
||||||
@ -416,6 +422,12 @@ public:
|
|||||||
return( value );
|
return( value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
remove( const char *name ) const
|
||||||
|
{
|
||||||
|
return( vips_image_remove( get_image(), name ) );
|
||||||
|
}
|
||||||
|
|
||||||
static VOption *
|
static VOption *
|
||||||
option()
|
option()
|
||||||
{
|
{
|
||||||
@ -458,7 +470,10 @@ public:
|
|||||||
return( VImage( image ) );
|
return( VImage( image ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static VImage new_from_buffer( void *buf, size_t len,
|
static VImage new_from_buffer( const void *buf, size_t len,
|
||||||
|
const char *option_string, VOption *options = 0 );
|
||||||
|
|
||||||
|
static VImage new_from_buffer( const std::string &buf,
|
||||||
const char *option_string, VOption *options = 0 );
|
const char *option_string, VOption *options = 0 );
|
||||||
|
|
||||||
static VImage new_matrix( int width, int height );
|
static VImage new_matrix( int width, int height );
|
||||||
@ -495,6 +510,17 @@ public:
|
|||||||
return( new_from_image( to_vectorv( 1, pixel ) ) );
|
return( new_from_image( to_vectorv( 1, pixel ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VImage
|
||||||
|
copy_memory() const
|
||||||
|
{
|
||||||
|
VipsImage *image;
|
||||||
|
|
||||||
|
if( !(image = vips_image_copy_memory( this->get_image() )) )
|
||||||
|
throw( VError() );
|
||||||
|
|
||||||
|
return( VImage( image ) );
|
||||||
|
}
|
||||||
|
|
||||||
VImage write( VImage out ) const;
|
VImage write( VImage out ) const;
|
||||||
|
|
||||||
void write_to_file( const char *name, VOption *options = 0 ) const;
|
void write_to_file( const char *name, VOption *options = 0 ) const;
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#include <complex>
|
#include <complex>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <string.h>
|
#include <cstring>
|
||||||
|
|
||||||
#include <vips/vips.h>
|
#include <vips/vips.h>
|
||||||
|
|
||||||
|
@ -194,11 +194,8 @@ G_DEFINE_TYPE( VipsCast, vips_cast, VIPS_TYPE_CONVERSION );
|
|||||||
ITYPE * restrict p = (ITYPE *) in; \
|
ITYPE * restrict p = (ITYPE *) in; \
|
||||||
OTYPE * restrict q = (OTYPE *) out; \
|
OTYPE * restrict q = (OTYPE *) out; \
|
||||||
\
|
\
|
||||||
for( x = 0; x < sz; x++ ) { \
|
for( x = 0; x < sz; x++ ) \
|
||||||
TEMP v = VIPS_FLOOR( p[x] ); \
|
q[x] = CAST( p[x] ); \
|
||||||
\
|
|
||||||
q[x] = CAST( v ); \
|
|
||||||
} \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cast complex types to an int type. Just take the real part.
|
/* Cast complex types to an int type. Just take the real part.
|
||||||
@ -208,10 +205,8 @@ G_DEFINE_TYPE( VipsCast, vips_cast, VIPS_TYPE_CONVERSION );
|
|||||||
OTYPE * restrict q = (OTYPE *) out; \
|
OTYPE * restrict q = (OTYPE *) out; \
|
||||||
\
|
\
|
||||||
for( x = 0; x < sz; x++ ) { \
|
for( x = 0; x < sz; x++ ) { \
|
||||||
TEMP v = VIPS_FLOOR( p[0] ); \
|
q[x] = CAST( p[0] ); \
|
||||||
\
|
|
||||||
p += 2; \
|
p += 2; \
|
||||||
q[x] = CAST( v ); \
|
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user