Douglas Bagnall wrote:
> > + I'm beginning to wonder if there's not an off-by-something error
> > lurking somewhere in stretch. hmm...
>
> In my tests, all the resize and stretch filters appear to shift the
> image down and to the right by about half an output pixel. Assuming
> my controls images are right...
I've attached a (preliminary) patch.
</F>
Index: libImaging/Antialias.c
===================================================================
--- libImaging/Antialias.c (revision 2394)
+++ libImaging/Antialias.c (working copy)
@@ -145,7 +145,7 @@
if (imIn->xsize == imOut->xsize) {
/* vertical stretch */
for (yy = 0; yy < imOut->ysize; yy++) {
- center = yy * scale;
+ center = (yy + 0.5) * scale;
ww = 0.0;
ss = 1.0 / filterscale;
/* calculate filter weights */
@@ -222,7 +222,7 @@
} else {
/* horizontal stretch */
for (xx = 0; xx < imOut->xsize; xx++) {
- center = xx * scale;
+ center = (xx + 0.5) * scale;
ww = 0.0;
ss = 1.0 / filterscale;
xmin = floor(center - support);
_______________________________________________
Image-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/image-sig