Я хочу изменить размер изображения.
В настоящее время я делаю это:
SetStretchBltMode(hCompatibleDC, HALFTONE);
StretchBlt(hCompatibleDC, 0, 0, Des_w, Des_h, mhDesktopDC, 0, 0, src_w, src_h, SRCCOPY);
Но это очень медленно.
По моим тестам, BitBlt в x75 быстрее, чем StretchBlt.
Мне нужно BitBlt / StretchBlt, чтобы получить массив битов из CompatibleDC.
Я хотел бы попытаться использовать BitBlt вместо StretchBlt (для получения 24-битного массива RGB)
и отправить в мою собственную функцию, которая будет делать изменение размера.
Теперь, если серьезно, у меня нет знаний, чтобы написать функцию, которая будет делать это быстрее, чем StretchBlt и в том же качестве, что и HALFTONE.
Может быть, нужен даже ASM — чего я не знаю.
Я пишу в C ++ (визуальная студия)
Поэтому я хотел бы знать, если вы можете помочь в этом.
Спасибо!
Задача ещё не решена.