diff --git a/ChangeLog b/ChangeLog index 6df32078..5a460c65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 4/7/14 started 7.40.4 - fix vips_rawsave_fd(), thanks aferrero2707 +- fix im_point() 30/6/14 started 7.40.3 - fix interlaced thumbnails in vipsthumbnail, thanks lovell diff --git a/TODO b/TODO index 653be700..0475cf41 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,3 @@ -- im_point() is broken? - - $ vips im_point k2.jpg bilinear 0 0 2 - 110.926 - - doesn't seem right, should be 0, see deprecated/im_point_bilinear.c - - part of fixing up ruby-vips self-tests - - dx/dy seem broken, esp. with clipping - - - threadpool recyling might be useful for dzsave? diff --git a/libvips/deprecated/arith_dispatch.c b/libvips/deprecated/arith_dispatch.c index ba5b63de..3332781d 100644 --- a/libvips/deprecated/arith_dispatch.c +++ b/libvips/deprecated/arith_dispatch.c @@ -172,7 +172,7 @@ point_vec( im_object *argv ) VipsInterpolate *interpolate = VIPS_INTERPOLATE( argv[1] ); double x = *((double *) argv[2]); double y = *((double *) argv[3]); - int band = *((double *) argv[4]); + int band = *((int *) argv[4]); return( im_point( argv[0], interpolate, x, y, band, argv[5] ) ); } diff --git a/libvips/deprecated/im_point_bilinear.c b/libvips/deprecated/im_point_bilinear.c index b059227c..db5b91a9 100644 --- a/libvips/deprecated/im_point_bilinear.c +++ b/libvips/deprecated/im_point_bilinear.c @@ -84,7 +84,7 @@ im_point( IMAGE *im, VipsInterpolate *interpolate, im_affinei( t[0], t[1], interpolate, 1, 0, 0, 1, - x - floor( x ), y - floor( y ), + floor( x ) - x, floor( y ) - y, floor( x ), floor( y ), 1, 1 ) || im_avg( t[1], out ) ) { im_close( mem );