Существует много способов масштабирования изображения.
Самый простой способ - декодировать изображение, а затем масштабировать, используя простой алгоритм масштабирования, например:
dest_pixel [x,y] = src_pixel [x * x_scale_factor, y * y_scale_factor]
где x / y_scale_factor равно
src_size / dest_size
Как только у вас это заработает, вы можете посмотреть на более сложные системы масштабирования, такие как билинейный фильтр. Например, целевой пиксель - это среднее значение нескольких исходных пикселей при уменьшении размера и интерполяция нескольких исходных пикселей при увеличении размера.