return sample_bitmap_pixel(src_rect, bits, width, height,
gdip_round(point->X), gdip_round(point->Y), attributes);
point->X + pixel_offset, point->Y + pixel_offset, attributes);
- }
This is going to break tiling. By removing gdip_round you're implicitly truncating the number instead of flooring, which will give you the wrong result when X or Y is negative. I suggest explicitly adding a floorf.