The PixelFormat32bppRGB shuld be PixelFormat32bppARGB in the
test_GdipDrawImagePointsRectNeedResample function of my patch.
In test_GdipDrawImagePointsRectNeedResample, the first src_pointf valuse is :
X=5.992676, src_pointf.Y=0.000000 when the destination pixel is(x=699,y=0),
and srcx=6.000000,srcy=0.000000,srcwidth=48.000000,srcheight=26.000000,
so the follow if statement will test false :
if (src_pointf.X >= srcx && src_pointf.X < srcx + srcwidth && src_pointf.Y >= srcy && src_pointf.Y < srcy+srcheight)
then the destination pixel (x=699,y=0) will be filled with zero value,
but we expect that pixel shoule be filled a color same as the source image.
I think make these variables:
dst_to_src_points, src_pointf, x_dx, x_dy, y_dx, y_dy all use 64bit double float type maybe can fixed this situation.
But GpointF and GpMatrix has used 32bit float type, and many gdiplus functions depended on them.
Can you give me some advice ? Thank you!