Нет, вам нужно масштабировать его либо самостоятельно (линейная интерполяция является самой простой и быстрой, но дает квадратные пиксели, билинейные / трилинейные / бикубические - это трикеры, но дают более плавные результаты), либо с помощью библиотеки, которая сделает грязнуюработать для вас (проверьте OpenCV, SDL, imagemagick, libpipi и т. д.)
Подробнее об этом здесь , здесь .
Фактический код для простой интерполяции ближайшего соседа (неоптимизированный):
dest[dx+dy*dest_width] = src[(dx*src_width/dest_width)+(dy*src_height/dest_height)*src_width]
Просто итерируйте dx и dy в соответствии с dest_width и dest_height.Но на самом деле, используйте для этого библиотеку.