1. Цель работы
Изучить принципы работы с изображениями в веб-разработке, освоить методы их оптимизации для повышения производительности веб-приложений.
2. Теоретическая часть
2.1. Основные форматы изображений для веб
- JPEG – для фотографий и изображений с градиентами (с потерями качества).
- PNG – для изображений с прозрачностью (без потерь).
- WebP – современный формат с лучшим сжатием (поддержка не во всех браузерах).
- SVG – векторная графика для иконок и логотипов.
2.2. Методы оптимизации изображений
- Сжатие без потерь (PNG, SVG).
- Сжатие с потерями (JPEG, WebP).
- Использование
srcsetи<picture>для адаптивности. - Ленивая загрузка (
loading="lazy"). - Кэширование и CDN.
3. Практическая часть
3.1. Задание 1: Подготовка изображений
- Скачайте 3 изображения (фотография, логотип, иконка).
- Конвертируйте их в форматы: JPEG, PNG, WebP.
- Сравните размеры файлов и качество.
Инструменты:
- Photoshop / GIMP / онлайн-конвертеры (TinyPNG, Squoosh.app).
3.2. Задание 2: Вставка изображений в HTML
- Создайте HTML-страницу.
- Добавьте изображения с:
- Атрибутом
altдля доступности. - Адаптивными размерами (
width,height,max-width: 100%в CSS). - Ленивой загрузкой (
loading="lazy").
- Атрибутом
Пример кода:
<img src="photo.webp" alt="Пейзаж" loading="lazy" width="800" height="600">
3.3. Задание 3: Оптимизация с <picture> и srcset
- Создайте несколько версий одного изображения (разные размеры).
- Используйте
<picture>иsrcsetдля адаптивной загрузки.
Пример кода:
<picture> <source srcset="image-large.webp" media="(min-width: 1200px)"> <source srcset="image-medium.webp" media="(min-width: 768px)"> <img src="image-small.webp" alt="Пример"> </picture>
4. Контрольные вопросы
- Какие форматы изображений лучше использовать для фотографий?
- Как работает ленивая загрузка (
loading="lazy")? - Зачем нужен атрибут
altу изображений? - В чем преимущество формата WebP перед JPEG?
- Как
<picture>иsrcsetулучшают производительность?
5. Отчет по лабораторной работе
- Титульный лист (тема, ФИО, группа).
- Цель работы.
- Выполненные задания с примерами кода.
- Скриншоты результатов.
- Ответы на контрольные вопросы.
![]()



