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