Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Есть файл bmp размером, например, 1280x960(скриншот). Надо програмно сжать до 640x480(то есть в 4 раза). Как это реализовать на c++? Если можно, напишите код с небольшим объяснением. Спасибо.
Смотря что за БМП у тебя. Например если bmp файлы с глубиной цвета 24 бита, байты цвета каждого пиксела хранятся в порядке BGR (Blue,Green,Red). Если с глубиной цвета 32 бита, байты цвета каждого пиксела хранятся в порядке BGRA (Blue,Green,Red,Alpha). Это все есть тут
Ссылка скрыта от гостей
. Слово "сжать" тут неподходит, это другое. В твоем случаи нужно изменить размер(резайз или скейлинг). Обе стороны уменьшить нужно в 2 раза. Могу предложить такой вариант: береш 4 соседние точки квадратом(2 в одной строке й 2 во второй) - сумируеш каждую цветовую компоненту и среднее значение сохраняеш как новую точку в выходной картинке. Когда все обойдеш у тебя должна сформироватся выходная картинка с размерами сторон в 2 раза меньше исходной. Качество пострадает. Также могу посоветовать использовать уже готовые скейлеры, поищи в нете. В конце всего нужно будет сформировать БМП, создавши нужный хидер и записать туда выходною картинку. Вот и все.
Главное начать что то делать, а там все получится. Сейчас нету времени писать полный код. Предлагаю разбить задание на части:
1) Открытие БМП и загрузка картинки в память (исходная картинка)
2) Ресайз исходной картинки й сохранение в выходной буфер (выходная картинка)
3) Формирование БМП и сохранение выходного буфера
4) Проверка работы
и потихоньку начать писать на С++.
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.