winapi — (C ++) Работа с ограничениями размера изображений StretchBlt () и AlphaBlend () (32768)?

Как я узнал из горького опыта, эти две функции 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 становится слишком большим; в результате при увеличении, превышающем заданное соотношение, изображение исчезает.

Есть ли какая-нибудь функция / класс / метод, который я мог бы использовать, чтобы избежать этих ограничений, или я вынужден обходить их?

Заранее благодарю за любую помощь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector