Для начала стоит отметить, что есть две основные категории изображений; вектор [например, SVG, WMF, Adobe Illustrator и Corel Draw Graphics] и растровые (также называемые растровыми) изображения [например, Растровые изображения, изображения JPEG и PNG].
Векторные изображения формируются из серии математических уравнений и / или расчетов. С другой стороны, растровые изображения состоят из отдельных точек (пикселей), каждая из которых соответствует определенной особенности объекта, из которого получено изображение.
Если должно произойти, что вы хотите изменить размер изображения, первое, что нужно учитывать, это растровое или векторное изображение. Благодаря тому, что векторные изображения получены из расчетов, они могут быть полностью изменены без потери деталей. Случай отличается для растровых изображений. Поскольку каждый пиксель не зависит от другого, когда вы хотите изменить его размер, вы просто увеличиваете или уменьшаете соотношение пикселей источника и цели.
Итак, чтобы удвоить размер векторного изображения, просто умножьте целевые размеры на два, и все получится хорошо. Если вы должны применить тот же эффект к растровому изображению, вы фактически увеличиваете каждый исходный пиксель, чтобы покрыть четыре пикселя (две строки по два горизонтальных пикселя).
Конечно, применяя интерполяцию и фильтрацию, компьютер может "сгладить" края целевых пикселей, чтобы они, казалось, сливались друг с другом и создавали вид изображения с разумным изменением размера, но этот вывод никогда не совпадает с изменение размера векторного изображения; векторные изображения отлично меняются.
Вы также упомянули DPI в своем вопросе. DPI - это количество пикселей, которые соответствуют дюйму, когда изображение напечатано , а не * при просмотре на экране . Поэтому, увеличивая DPI изображения, вы не увеличиваете размер изображения на экране. Вы только повышаете качество печати [что, разумеется, зависит от максимального разрешения принтера].
Если вы действительно хотите изменить размер изображения, а изображение является растровым, как правило, не увеличивайте размер свыше 200% от размера исходного изображения, иначе вы потеряете качество.
Вы можете увидеть этот ответ для кода для изменения размера растровых изображений.
Чтобы увидеть пример векторного изображения, перейдите по этой ссылке .
Примечание Попробуйте увеличить или уменьшить изображение, чтобы увидеть, насколько хорошо оно изменяется.
Типичным растровым изображением являются спрайты StackOverflow . Они не сохраняют свое качество измененным.
Дальнейшее чтение