Allow rescaling larger images in Win64 builds

Use wxUIntPtr rather than (unsigned) long in wxImage::ResampleNearest()
as long is still 32 bits under Win64 and so doesn't allow the code there
to work with images larger than 2^16 in either direction, when it could
be allowed in this case.

Document the current limits on the size of the image and add a unit test
checking that resizing images of size greater than 2^16 works in 64 bits.

See #18550.
This commit is contained in:
Vadim Zeitlin
2021-09-01 20:00:48 +01:00
parent 39e1cae617
commit 44a5cf78d1
3 changed files with 34 additions and 8 deletions

View File

@@ -972,6 +972,11 @@ public:
}
@endcode
@note The algorithm used for the default (normal) quality value doesn't
work with images larger than 65536 (2^16) pixels in either dimension
for 32-bit programs. For 64-bit programs the limit is 2^48 and so not
relevant in practice.
@see Rescale()
*/
wxImage Scale(int width, int height,