фон
Сегодня, в час ночи, человек внезапно добавил мой qq. Оказалось, что это была моя первая любовь, удаленная десять лет назад…
Поскольку раньше в пространстве QQ было слишком много взаимодействия, нам часто рекомендовали познакомиться друг с другом в рекомендациях друзей QQ. Смущение от тайны
Согласившись на заявку ее подруги, я внимательно просмотрел все тенденции qqq и ее фотографии за последние десять лет. Она стала красивой, будет наряжаться, худая фигура прошлого с нынешним платьем и макияжем, была за пределами моего понимания богини.
И я по-прежнему ничего не делаю, постепенно раздутое тело и растущая линия волос, каждый день работаю и бегаю ради жизни, но тоже беден.
Описать ощущение настоящего одним предложением можно так: “Ты достиг более высокого пика, и я могу только смотреть на твою далекую спину.”
Спокойно закурил сигарету и сохранил все ее красивые фотографии. Почему? Оказалось, что все фотографии были на месте. формат png. Png?? Изображения в формате Png используются каждый день, но что такое PNG и каков принцип его сжатия? Очень хорошо. Я расскажу об этом по порядку.
Что такое PNG?
Полное название PNG-Портативная сетевая графика, которая является самым популярным форматом изображений для передачи и отображения по сети. Причины заключаются в следующем:
сжатие без потерь
PNG-изображение использует алгоритм вывода LZ77 для сжатия файла, что повышает степень сжатия, уменьшает объем сгенерированного файла и не приводит к потере данных.Небольшой объем
Он использует специальный метод кодирования для маркировки повторяющихся данных, что уменьшает размер файла изображения PNG для того же формата. Из-за ограничений пропускной способности в сетевой связи формат PNG предпочтителен для обеспечения четких и реалистичных изображений.Поддержка прозрачности
PNG поддерживает определение 256 прозрачных слоев для исходного изображения, так что края изображения могут быть плавно слиты с любым фоном. Эта функция недоступна в формате GIF и JPEG.
Тип PNG
Существует три основных типа изображений PNG: PNG 8/PNG 24/PNG 32.
PNG 8
На самом деле, 8 в PNG 8 относится к 8 битам, что эквивалентно 2 ^ 8 (8-я степень 2) для хранения типа цвета изображения. 2 ^ 8 равно 256, то есть PNG 8 может хранить 256 цветов. Если изображение имеет несколько цветовых типов, очень удобно установить его в формате PNG 8, чтобы получить нужный тип изображения.PNG 24
В PNG 24 24 равно 3 раза 8 равно 24. То есть R (красный), G (зеленый) и B (синий) обозначаются тремя 8 битами. R (0-255), G (0-255), B (0-255) могут выражать 256 раз 256 раз 256 раз 256 цветных изображений, так что PNG 24 может выражать более красочные изображения, чем PNG 8. Но занимаемое пространство относительно больше.PNG 32
32 в формате PNG 32, эквивалентном PNG 24 плюс 8 бит прозрачного цветового канала, эквивалентен R (красный), G (зеленый), B (синий), A (прозрачный). R (0-255), G (0-255), B (0-255), A (0-255). PNG 32 может представлять столько же цветов, сколько PNG 24, и он также поддерживает 256 прозрачных цветов, которые могут представлять более распространенные типы цветов изображений.
Как сказать, в общем, PNG 8/PNG 24/PNG 32 эквивалентно нашему сердцу, разделяющему богиню на три категории:
Класс 8
Собаки, лижущие шелк Диао, видят первый вид богини, сразу чувствуют себя счастливыми, улыбаются, черный шелк Диао Иньтань постепенно расширяется, подтверждают глаза, это ощущение сердцебиения.Класс II 24
Второй вид Богини стал свирепым. Это потрясло сердечные струны Диао шелка чем-то вроде хризантемы плотно и оглушительно. Второй вид Богини мог бы сделать Диао шелк более энергичной и продлевать ее жизнь каждый день.Три 32
Перед третьим видом богини все языки кажутся бледными и бессильными. Это своего рода высшее существование, которое видит сквозь верх и низ шелка Диао и все небо. Превосходная и свободная от вульгарности, Бога недостаточно, чтобы описать половину ее красоты. Я видел это только во сне.
О. Моя первая любовь, глядя сейчас на ее фотографии, должна коснуться уровня PNG 24.
Структура данных изображения PNG
Структура данных изображения PNG очень похожа на структуру HTTP-запроса. Это заголовок данных, за которым следует множество блоков данных, как показано на следующем рисунке:
Если вы откроете изображение в формате PNG в режиме кодирования вида vim, оно будет выглядеть следующим образом:
Схватитесь за траву и с первого взгляда увидите шестнадцатеричный код. Ощущается ли это так же неясно, как разум богини?
Не паникуй, брат. По правде говоря, если бы все было так просто, как в этом бардаке, мы с братом были бы в группах жен и наложниц. Далее я объясню значение этой кучи шестнадцатеричных кодов один за другим.
8950 4e47 0d0a 1a0a
Это заголовок изображений в формате PNG. Все заголовки изображений PNG закодированы в этой серии. Программное обеспечение для изображений определяет, является ли файл изображением в формате PNG, с помощью этой серии кодов. __________
0000 000d
Длина блока данных iHDR составляет 13.
4948 4452
Это тип блока данных, IHDR, за которым следуют данные.
0000 02bc
Ширина изображения.
0000 03 а 5
Дело в росте.
По аналогии, каждый шестнадцатеричный код представляет определенное значение. Остальные, приведенные ниже, не анализируются один за другим. Их слишком много. Давайте проверим их сами.
Какое изображение PNG больше подходит для сжатия
Для обычного изображения png чем проще цвет, тем меньше значение цвета и тем выше степень сжатия. Например, на следующем рисунке:
Он состоит только из красного и зеленого цветов. Если 0 представляет красный цвет, а 1 представляет зеленый, то рисунок выглядит следующим образом:
00000000000000000
00000000000000000
00000000000000000
1111111111111111111111111
1111111111111111111111111
1111111111111111111111111
Мы видим, что на этой картинке используется много повторяющихся чисел, мы можем удалить повторяющиеся числа, напрямую использовать форму массива [0, 1], можем напрямую выразить эту картинку, только два числа, могут выразить большую картинку, так что большое сжатие изображения PNG.
Итак! Чем проще цвет, тем меньше значение цвета и чем меньше разница в цвете, тем больше степень сжатия и тем меньше объем изображения PNG.
Сжатие PNG
Сжатие изображения PNG, разделенное на два этапа:
Прогнозирование
Этот этап заключается в предварительной обработке изображения PNG и делает его более удобным для последующего сжатия. Проще говоря, это богиня, которая сначала закладывает основу, прежде чем наносить макияж, сначала наносит лосьон и эссенцию, чтобы облегчить последующий макияж, отбеливание, тени для век, полировку и так далее.Сжатие
Выполняется сжатие дефляции, которое объединяет алгоритм LZ77 и алгоритм Хаффмана для кодирования изображения.
Предсказание
Изображения Png предварительно обрабатываются дельта-кодированием для обработки значений каждого канала в каждом пикселе. Существует несколько видов дифференциального кодирования:
- Отсутствие фильтрации
- Х-А
- X-B
- X-(A+B)/2 (также известный как средний)
- Вывод пути (это более сложно)
Предположим, что изображение в формате PNG выглядит следующим образом:
Это изображение представляет собой градиентное изображение с постепенно усиливающимся красным цветом. Его красный цвет постепенно усиливается слева направо, сопоставляясь со значением массива [1,2,3,4,5,6,7,8]. Используя X-дифференциальное кодирование, то есть:
[2-1=1,,,,,,]
Результаты следующие:
[1,1,1,1,1,1,1]
Конечный результат [1,1,1,1,1,1,1] содержит большое количество повторяющихся чисел, что делает его очень подходящим для сжатия.
Вот почему проще сжимать градиентное изображение, изображение с небольшим изменением значения цвета и одним цветом.
Цель дифференциального кодирования состоит в том, чтобы преобразовать значение данных изображения PNG в набор повторяющихся и низких значений, насколько это возможно. Такие значения легче сжимать.
Наконец, следует отметить, что дифференциальное кодирование обрабатывает значения каждого цветового канала в каждом пикселе, а значения R (красный), G (зеленый), B (синий), A (прозрачный) четырех цветовых каналов обрабатываются отдельно.
Компрессия
На этапе сжатия результаты, полученные на этапе предварительной обработки, сжимаются с помощью Deflate, который состоит из кодирования Хаффмана и сжатия LZ77.
Как упоминалось ранее, сжатие Deflate помечает все дубликаты данных изображения, записывает характеристики и структуру данных и получает данные кодирования изображения PNG с наибольшей степенью сжатия.
Deflate-это алгоритм сжатия потоков данных. Его можно использовать везде, где требуется сжатие потоковой передачи.
Кроме того, как мы уже говорили ранее, изображение в формате PNG состоит из множества блоков данных, но некоторая информация в блоках данных бесполезна. Например, когда изображение в формате PNG сохраняется в Photoshop, на изображении будет запись блока: “Это изображение создано photshop”. Много подобной информации бесполезно. Если вы используете Photoshop для “экспорта веб-страниц” в изображение, это будет бесполезно. Формат удаляет ненужную информацию. Эффект контраста до и после экспорта веб – формата выглядит следующим образом:
Как вы можете видеть, после экспорта веб-формата и удаления большого количества бесполезной информации изображение становится намного меньше.
эпилог
Вышесказанное-это мое понимание png, писать нехорошо, как у людей среднего и пожилого возраста, хаотично.
Причина, по которой я думаю о расставании со своей первой любовью в том году, заключается в том, что я боюсь повлиять на свою учебу. Но после расставания результаты все равно очень плохие, не только соскучилась по богине, но и по-прежнему ничего.
Сейчас приехал мужчина средних лет, с огромными ипотечными кредитами за спиной, дома все еще ждут дети, которых нужно накормить, смотрят на его жену, крепко спящую, внезапно захотевшую открыться.
Как сказал Лу Сюнь:
“Любовь-это как собирать ракушки на пляже. Не подбирайте самые большие раковины. Не подбирайте самые красивые ракушки. Просто подбери свои любимые ракушки. Самое главное, чтобы вы никогда больше не ходили на пляж, когда найдете свои любимые ракушки.”
。。。。。。
Я заснул, когда закончил писать в 4:00 утра.
Мечтая вернуться в то лето десять лет назад, мы все сладко смеялись.
Смотрю на твое плачущее лицо, улыбаюсь и прощаюсь со мной.
Пока
Автор: Первый головастик
Github: В статье впервые будет рассказано о ходе моего сердца передо мной. Добро пожаловать в Star или Смотрите, спасибо.
Продвижение команды
Наконец, интерфейсная команда Tencent News TNFE разобрала новейший высококачественный контент в области небольших программ и веб-интерфейсных технологий для интерфейсных разработчиков, обновляемый еженедельно, приветствуемая звезда, адрес GitHub: https://github.com/Tnfe/TNFE-…