support --strip for tiffsave
stops metadata save
This commit is contained in:
parent
ff8f6364a4
commit
c5a4afbe40
@ -12,6 +12,7 @@
|
||||
- support tiff orientation tag
|
||||
- autorotate option for tiff load
|
||||
- tiffsave converts for jpg if jpg compression is turned on
|
||||
- tiffsave supports --strip
|
||||
|
||||
18/5/16 started 8.3.2
|
||||
- more robust vips image reading
|
||||
|
2
TODO
2
TODO
@ -1,5 +1,3 @@
|
||||
- tiff write does not support [strip]
|
||||
|
||||
- add more webp tests to py suite
|
||||
|
||||
- try moving some more of the CLI tests to py
|
||||
|
@ -50,7 +50,8 @@ int vips__tiff_write( VipsImage *in, const char *filename,
|
||||
VipsForeignTiffResunit resunit, double xres, double yres,
|
||||
gboolean bigtiff,
|
||||
gboolean rgbjpeg,
|
||||
gboolean properties );
|
||||
gboolean properties,
|
||||
gboolean strip );
|
||||
|
||||
int vips__tiff_read_header( const char *filename, VipsImage *out,
|
||||
int page, gboolean autorotate );
|
||||
|
@ -166,7 +166,8 @@ vips_foreign_save_tiff_build( VipsObject *object )
|
||||
tiff->resunit, tiff->xres, tiff->yres,
|
||||
tiff->bigtiff,
|
||||
tiff->rgbjpeg,
|
||||
tiff->properties ) )
|
||||
tiff->properties,
|
||||
save->strip ) )
|
||||
return( -1 );
|
||||
|
||||
return( 0 );
|
||||
@ -353,6 +354,7 @@ vips_foreign_save_tiff_init( VipsForeignSaveTiff *tiff )
|
||||
* * @yres: %gdouble vertical resolution in pixels/mm
|
||||
* * @bigtiff: set %TRUE to write a BigTiff file
|
||||
* * @properties: set %TRUE to write an IMAGEDESCRIPTION tag
|
||||
* * @strip: set %TRUE to block metadata save
|
||||
*
|
||||
* Write a VIPS image to a file as TIFF.
|
||||
*
|
||||
|
@ -160,6 +160,8 @@
|
||||
* - better alpha handling, thanks sadaqatullahn
|
||||
* 21/12/15
|
||||
* - write TIFFTAG_IMAGEDESCRIPTION
|
||||
* 2/6/16
|
||||
* - support strip option
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -278,6 +280,7 @@ struct _Write {
|
||||
int bigtiff; /* True for bigtiff write */
|
||||
int rgbjpeg; /* True for RGB not YCbCr */
|
||||
int properties; /* Set to save XML props */
|
||||
int strip; /* Don't write metadata */
|
||||
};
|
||||
|
||||
/* Open TIFF for output.
|
||||
@ -578,12 +581,13 @@ write_tiff_header( Write *write, Layer *layer )
|
||||
TIFFSetField( tif, TIFFTAG_YRESOLUTION,
|
||||
VIPS_FCLIP( 0.01, write->yres, 1000000 ) );
|
||||
|
||||
if( write_embed_profile( write, tif ) ||
|
||||
write_embed_xmp( write, tif ) ||
|
||||
write_embed_ipct( write, tif ) ||
|
||||
write_embed_photoshop( write, tif ) ||
|
||||
write_embed_imagedescription( write, tif ) )
|
||||
return( -1 );
|
||||
if( !write->strip )
|
||||
if( write_embed_profile( write, tif ) ||
|
||||
write_embed_xmp( write, tif ) ||
|
||||
write_embed_ipct( write, tif ) ||
|
||||
write_embed_photoshop( write, tif ) ||
|
||||
write_embed_imagedescription( write, tif ) )
|
||||
return( -1 );
|
||||
|
||||
if( vips_image_get_typeof( write->im, VIPS_META_ORIENTATION ) &&
|
||||
!vips_image_get_int( write->im,
|
||||
@ -875,7 +879,8 @@ write_new( VipsImage *im, const char *filename,
|
||||
VipsForeignTiffResunit resunit, double xres, double yres,
|
||||
gboolean bigtiff,
|
||||
gboolean rgbjpeg,
|
||||
gboolean properties )
|
||||
gboolean properties,
|
||||
gboolean strip )
|
||||
{
|
||||
Write *write;
|
||||
|
||||
@ -898,6 +903,7 @@ write_new( VipsImage *im, const char *filename,
|
||||
write->bigtiff = bigtiff;
|
||||
write->rgbjpeg = rgbjpeg;
|
||||
write->properties = properties;
|
||||
write->strip = strip;
|
||||
|
||||
write->resunit = get_resunit( resunit );
|
||||
write->xres = xres;
|
||||
@ -1541,12 +1547,13 @@ write_copy_tiff( Write *write, TIFF *out, TIFF *in )
|
||||
|
||||
/* We can't copy profiles or xmp :( Set again from Write.
|
||||
*/
|
||||
if( write_embed_profile( write, out ) ||
|
||||
write_embed_xmp( write, out ) ||
|
||||
write_embed_ipct( write, out ) ||
|
||||
write_embed_photoshop( write, out ) ||
|
||||
write_embed_imagedescription( write, out ) )
|
||||
return( -1 );
|
||||
if( !write->strip )
|
||||
if( write_embed_profile( write, out ) ||
|
||||
write_embed_xmp( write, out ) ||
|
||||
write_embed_ipct( write, out ) ||
|
||||
write_embed_photoshop( write, out ) ||
|
||||
write_embed_imagedescription( write, out ) )
|
||||
return( -1 );
|
||||
|
||||
buf = vips_malloc( NULL, TIFFTileSize( in ) );
|
||||
n = TIFFNumberOfTiles( in );
|
||||
@ -1613,7 +1620,7 @@ vips__tiff_write( VipsImage *in, const char *filename,
|
||||
VipsForeignTiffResunit resunit, double xres, double yres,
|
||||
gboolean bigtiff,
|
||||
gboolean rgbjpeg,
|
||||
gboolean properties )
|
||||
gboolean properties, gboolean strip )
|
||||
{
|
||||
Write *write;
|
||||
|
||||
@ -1632,7 +1639,7 @@ vips__tiff_write( VipsImage *in, const char *filename,
|
||||
compression, Q, predictor, profile,
|
||||
tile, tile_width, tile_height, pyramid, squash,
|
||||
miniswhite, resunit, xres, yres, bigtiff, rgbjpeg,
|
||||
properties )) )
|
||||
properties, strip )) )
|
||||
return( -1 );
|
||||
|
||||
if( vips_sink_disc( write->im, write_strip, write ) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user