Grrr. Единственная причина этой функции для существования состоит в том, чтобы использовать в своих интересах инструкцию ЦП для этого, и они даже не сделали этого!
Если это изображение JPEG, вы можете просто отбросить большую часть данных DCT и создать миниатюру с двойным размером, используя только коэффициенты DCT.
Если вы можете найти Источники его можно найти в EPEG из проекта Enlightenment. Он делает именно то, что вы ищете, с файлами JPEG, полностью без декодирования или распаковки изображения. Исходный код был бы очень поучительным.
Для других форматов изображений это не так просто - вам нужно будет декодировать и визуализировать изображение в буфер памяти, а затем выполнить собственное масштабирование. В этом могут помочь библиотеки CImg и boost :: GIL.
Насколько я понимаю, проблема в том, что преобразование изображения в миниатюру занимает больше времени, чем получение изображения, правильно?
Хотя более быстрая программа преобразования миниатюр могла бы решить проблему за вас, этого может быть недостаточно для кого-то с более медленным компьютером. Вместо этого я предлагаю создать очередь изображений, которые будут преобразованы в эскизы, то есть у вас есть один поток (или процесс), который добавляет отсканированные изображения в очередь, и другой поток / процесс, который удаляет изображения из этой очереди и создает из них эскизы. Таким образом, относительные скорости двух операций не имеют значения.