diff --git a/ChangeLog b/ChangeLog index 7474138a..c1115974 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -7/5/15 started 8.1.0 +7/5/15 starteld 8.1.0 - add vips_premultiply(), vips_unpremultiply() - change the alpha range rules for vips_flatten() to match vips_premultiply() - vipsthumbnail uses vips_resize() rather than its own code @@ -17,6 +17,7 @@ - can now set any jpeg exif tag, not just modify existing tags - add vips_hist_entropy() - vips_log(), vips_log10() are zero-avoiding +- better overlap handling for dzsave, thanks robclouth 7/5/15 started 8.0.3 - dzsave and tif pyr write could fail for some image dimensions, thanks Jonas diff --git a/TODO b/TODO index a4035c59..5a830b12 100644 --- a/TODO +++ b/TODO @@ -1,10 +1,6 @@ -- try: +- test dzsave deepzoom with new overlap code - $ vips dzsave k2.jpg x --layout google --overlap 200 - ... - extract_area: bad extract area - - bottom tiles are not being clipped? +- add some more dzsave tests, esp for overlap handling diff --git a/libvips/foreign/dzsave.c b/libvips/foreign/dzsave.c index d3720f47..20cc223c 100644 --- a/libvips/foreign/dzsave.c +++ b/libvips/foreign/dzsave.c @@ -53,6 +53,8 @@ * - use a better temp dir name for fs dz output * 8/8/15 * - allow zip > 4gb if we have a recent libgsf + * 9/9/15 + * - better overlap handling, thanks robclouth */ /* @@ -112,9 +114,9 @@ /* #define DEBUG_VERBOSE - */ #define DEBUG #define VIPS_DEBUG + */ #ifdef HAVE_CONFIG_H #include @@ -969,7 +971,7 @@ strip_allocate( VipsThreadState *state, void *a, gboolean *stop ) /* Position this tile. */ state->pos.left = strip->x; - state->pos.top = 0; + state->pos.top = layer->y; state->pos.width = dz->tile_size; state->pos.height = dz->tile_size; @@ -1202,7 +1204,6 @@ strip_save( Layer *layer ) vips_thread_state_new, strip_allocate, strip_work, NULL, &strip ) ) { strip_free( &strip ); - printf( "strip_save: error: %s\n", vips_error_buffer() ); return( -1 ); } strip_free( &strip );