Ok found the fault.
Expert Explanation...
A Box function is meant to return a value or 1.0 if the sample is within 'support' distance of center of the sampling area.
However Point filter has a 'zero' support, so when it calls on a Box weighted points have a zero weighting -- BLACK
In other words the box filter was failing when it is used as the weigthing function with zero support -- Point filter
Before the recent spate of resize filter updates the Box Filter function always returns a weight os 1.0 regardless
of the support. That is It relied on the API client (ResizeImage() in this case) to only request samples within the support range.
I have removed that weighting function limitation, and restored 'Box' to always return a 1.0 weight for all sample requests, as it did previously. I have also pleased a note to this effect in the code to prevent it becoming 'limited' in future.
It broke around version 6.6.4-0 it should be fix in the next release 6.6.4-7
I have also updated the verbose output to show that internally the weighting function is really a 'Box' (with zero support) when a 'Point' filter is requested.
Code: Select all
convert logo: -filter point -set option:filter:verbose 1 -resize 50% test.jpg
Now returns the correct image, with a verbose response of...
#
# Resize Filter (for graphing)
#
# filter = Box
# window = Box
# support = 0
# win-support = 0
# blur = 1
# blurred_support = 0
# B,C = 0,0
#
0.00 1
0.00 0
Previously (with the bug still in place) those last two values would have been both a zero value - a direct indication of a bad weighting function.