|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
.NET 4.x Проверка картинки на формат включая webp16.06.2022, 08:36. Показов 1409. Ответов 17
Метки нет (Все метки)
Здравствуйте. Как проверить формат картинки (не по расширению) включая такой формат как webp
Есть 1 проект где в перемешку webp и png и все под расширением png. А графический редактор фотошоп очевидно его не учили определять формат картинки по его внутренним данным а не по расширению. Короче запарно каждый раз менять расширение на webp чтобы открыть а потом обратно. Вот и хочу написать утилиту. Конечно я могу делать по дебильному а именно пробовать открыть как обычную картинку и если класс Image выдаст ошибку то прибегать к webP но мне такой способ не нравится. Может кто подскажет правильный способ.
0
|
|
| 16.06.2022, 08:36 | |
|
Ответы с готовыми решениями:
17
Joomla и формат webp Формат изображений webp формат webp и retina дисплеи |
|
fly
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,811
|
|
| 16.06.2022, 08:59 | |
|
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
| 16.06.2022, 09:00 [ТС] | |
|
В каком ещё заголовке?
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 16.06.2022, 09:01 | |
|
Обычно бинарные файлы начинаются с заголовка, в котором наверняка есть и признак формата данных...
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
| 16.06.2022, 09:02 [ТС] | |
|
Я без понятия как его получить.
0
|
|
|
fly
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,811
|
|
| 16.06.2022, 09:07 | |
|
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 16.06.2022, 09:08 | |
|
Т.к. файл представляет собой последовательность байт, логично предположить что нужно эти байты прочитать и найти среди них тот самый заголовок и магическое число, идентифицирующее формат данных в файле (при наличии).
1
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
| 16.06.2022, 09:11 [ТС] | |
|
Ну как минимум это не 1 байт а несколько наборов байт. Я не могу придумать логику чтения формата по байтам учитывая что сколько этот заголовок занимает набор байтов неизвестно.
Например для webp который в проекте: набор байтов от начала 52 49 46 46 9E 0F 04 00 57 45 42 50 56 50 38 Также неизвестно с какого байта начинается непосредственно наименование формата
0
|
|
|
fly
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,811
|
|
| 16.06.2022, 09:17 | |
|
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
| 16.06.2022, 09:19 [ТС] | |
|
0
|
|
|
Администратор
|
||
| 16.06.2022, 09:29 | ||
|
Добавлено через 6 минут И вот пример кода - "Угадать" формат файла используя магическую последовательность
1
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||
| 17.06.2022, 19:39 [ТС] | ||
|
52 49 46 46 ?? ?? ?? ?? 57 45 42 50 Так как именно такая последовательность указана в вики.
0
|
||
|
Администратор
|
|
| 17.06.2022, 20:39 | |
|
Alexandr_7, проверяйте только байты до ?? или перепишите код так чтобы можно было указывать пропуски. Например можно использовать
byte? и отмечать пропуски с помощью null.
0
|
|
|
fly
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,811
|
||
| 17.06.2022, 23:32 | ||
|
0
|
||
|
Администратор
|
|
| 17.06.2022, 23:42 | |
|
I can, я знаю. Но т.к. у ТС задача отличить PNG от WEBP, то проверки первых четырех байтов вполне достаточно.
1
|
|
|
fly
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,811
|
|
| 24.06.2022, 17:35 | |
|
Midian, ну мыжпрограммисты#, если использовать стороннюю приблуду даже на такой ерунде, то можно выродится в эникейщиков.
0
|
|
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,690
|
|
| 27.06.2022, 12:29 | |
|
0
|
|
| 27.06.2022, 12:29 | |
|
Помогаю со студенческими работами здесь
18
Сохранение изображений в формат webp Преобразование WebP в формат понятный PictureBox Переделать код так, чтобы файл из формы преобразовывался в формат .webp Формат картинки из TMemoryStream Ножницы и формат картинки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|