Как я узнал из горького опыта, эти две функции MSDN не будут отображать изображение, которое шире, чем 32 767 логических единиц.
Моя цель — создать масштабируемое изображение с очень большими изображениями (шириной до 262144 пикселей, но с высотой до нескольких сотен).
BOOL AlphaBlend(
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
BLENDFUNCTION blend
);
Я получаю два типа проблем с приведенными выше аргументами:
1) nSrcWidth просто слишком велик, и изображение не отображается. Разделение изображения на части не будет работать, потому что тогда xDest будет слишком большим.
2) При масштабировании я увеличиваю изображение, а nDestWidth становится слишком большим; в результате при увеличении, превышающем заданное соотношение, изображение исчезает.
Есть ли какая-нибудь функция / класс / метод, который я мог бы использовать, чтобы избежать этих ограничений, или я вынужден обходить их?
Заранее благодарю за любую помощь.
Задача ещё не решена.
Других решений пока нет …