Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2022, 21:17   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию PNG прочитался как JPEG, в чем причины?

Скачал с интернета картинку в формате PNG

Попытался прочитать ее при помощи PNG-компонент. Выдало ошибку чтения

После чего, эксперимента ради, переименовал файлу последние три буквы в Jpg, попробовал открыть в TJpegImage - о оно открылось!

При этом размеры самого изображения ближе к размерам PNG.
И простое действие - загрузить TJpegImage в BitMap и потом обратно в TJpegImage сжало файл раз в 10

Вот теперь вопрос: какие причины, что все сработало именно так? На ум приходит 2 варианта:
1. Изображение было скачано с ошибкой в имени файла. И там должен был быть .jpg на самом деле
2. Я что-то не знаю про компонент JPEG и он может больше, чем я думаю
Kronos913 вне форума Ответить с цитированием
Старый 24.01.2022, 23:35   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Откройте файл в HEX-редакторе и посмотрите начало файла. Если начинается с FF D8 FF (JPG Signature Format), то это jpeg. А то что размер уменьшился: или разные уровни компрессии, или в файле оказалась еще допинформация (например, по ошибке сервер отдал поток данных с JPG + PNG, но конец JPG ищется по маркеру FF D9, а дальнейшие данные, предположу, игнорируются).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 25.01.2022, 00:02   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Хм... Проверил тот PNG, начался на FF D8 FF, закончился на FF D9
Kronos913 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать чтобы на image1 загрузился все типы картинок (jpeg, png, bmp) через tmemorystream alman12 Общие вопросы Delphi 6 23.04.2017 05:43
Уменьшение размера изображения на php уменьшение качества картинки пример class php jpeg gif png xzxz PHP 2 19.11.2012 11:11
Макрос - Сохранить выделенную область в графический файл .png .jpeg PavelTitov Microsoft Office Excel 7 10.05.2012 15:31
как написать комментарий в jpeg? SlippyK Мультимедиа в Delphi 0 28.05.2011 10:58
Ищу компонент конвертер(Bmp, Png, Tif, Gif...) в Jpeg ArtGrek Компоненты Delphi 16 25.05.2011 10:05