TweakPNG: программа для работы с PNG

TweakPNG — компактная Windows-утилита для низкоуровневого просмотра и изменения PNG-файлов. Это не графический редактор в стиле Paint.NET, GIMP или Photoshop: в программе нет кистей, слоев, фильтров, кадрирования, цветокоррекции фотографии и привычного холста. TweakPNG работает с внутренней структурой файла PNG: показывает chunks, длину блока, CRC, атрибуты, содержимое служебных секций, текстовые метаданные, параметры палитры, прозрачности, гаммы, физического размера пикселя и другие данные, которые обычно скрыты от пользователя.

Скачать TweakPNG

БесплатноОптимизацияWindows

Для сжатия и оптимизации файлов

⬇ Скачать ФотоМАСТЕР бесплатно
⬇ Скачать TweakPNG бесплатно

Главная ценность TweakPNG в том, что программа показывает PNG не как картинку, а как последовательность структурных блоков. Пользователь видит IHDR, PLTE, gAMA, cHRM, pHYs, tEXt, zTXt, iTXt, tRNS, IDAT, IEND и другие chunks. Такой подход нужен там, где обычный просмотрщик изображения бесполезен: при проверке PNG-файла, удалении лишних метаданных, исследовании скрытых текстовых блоков, настройке прозрачности палитры, добавлении комментариев, анализе поврежденного файла, подготовке тестовых изображений для приложений и работе с цифровой криминалистикой.

TweakPNG особенно удобен тем, что не заставляет сразу открывать hex-редактор. В HxD или 010 Editor можно увидеть байты, но придется вручную искать длину chunk, тип, данные и CRC. В TweakPNG эти части уже разложены в таблицу. Программа показывает тип блока, его размер, контрольную сумму, свойства и человекочитаемое описание содержимого. Поэтому TweakPNG часто используют как PNG chunk editor: он остается техническим инструментом, но дает более понятный интерфейс, чем чистое редактирование бинарного файла.

При этом TweakPNG не стоит воспринимать как безопасный улучшатель PNG. Программа дает прямой доступ к структуре файла, поэтому неправильное изменение IHDR, перестановка IDAT или удаление обязательного блока легко делает изображение нечитаемым. TweakPNG подходит пользователям, которые понимают, что PNG-файл состоит из сигнатуры и набора chunks, а критические блоки должны находиться в правильном порядке.

Содержание

Назначение программы

TweakPNG нужен для точечной работы с PNG-структурой. В обычной обработке изображений программа выглядит непривычно: пользователь открывает файл и видит не саму картинку, а таблицу. В этой таблице каждая строка — отдельный chunk, то есть логический блок PNG-файла. Именно поэтому TweakPNG полезен не дизайнеру, который хочет быстро улучшить фотографию, а специалисту, которому нужно понять, что находится внутри файла.

В TweakPNG можно:

  • просматривать структуру PNG на уровне chunks;

  • проверять порядок блоков и наличие обязательных частей;

  • смотреть CRC каждого chunk;

  • редактировать доступные служебные блоки;

  • добавлять новые chunks через меню Insert;

  • удалять лишние ancillary chunks;

  • добавлять и изменять текстовые метаданные tEXt, zTXt, iTXt;

  • изменять gAMA, cHRM, sRGB, pHYs, tIME;

  • просматривать и редактировать палитру PLTE;

  • изменять прозрачность палитрового PNG через tRNS;

  • задавать фоновый цвет через bKGD;

  • импортировать ICC-профиль в iCCP;

  • объединять и разделять IDAT;

  • копировать, вырезать и вставлять chunks;

  • переносить chunk из одного PNG в другой;

  • подключать внешние просмотрщики и фильтры через Configure Tools;

  • использовать встроенный просмотрщик через Tools → Show Image Viewer.

Программа не занимается сжатием PNG в привычном смысле, хотя отдельные операции могут уменьшить файл. Например, удаление лишнего текстового блока или объединение нескольких IDAT экономит место. Но TweakPNG не заменяет OptiPNG, Oxipng или Pngcrush: оптимизаторы пересобирают файл и подбирают методы сжатия, а TweakPNG дает ручной контроль над внутренними блоками.

Установка и запуск

TweakPNG распространяется как архив. У программы нет сложного установщика, мастера установки, рекламных предложений и отдельного процесса фоновой службы. Рабочий сценарий простой: распаковать архив в отдельную папку и запустить исполняемый файл.

В архиве используются две основные версии исполняемого файла:

  • x86tweakpng.exe — 32-битная версия;

  • x64tweakpng.exe — 64-битная версия.

На 64-битной Windows лучше запускать x64tweakpng.exe. На 32-битной системе используется x86tweakpng.exe. Программа подходит для старых и новых версий Windows, а ее интерфейс выполнен в классическом стиле Win32-приложений: простое окно, меню сверху, таблица с колонками, строка состояния снизу.

Удаление такое же простое, как установка: достаточно удалить папку с программой. Если пользователь включал интеграцию с контекстным меню Windows Explorer, настройки могут сохраняться в пользовательской ветке реестра, поэтому при полном удалении имеет смысл отключить интеграцию заранее или удалить соответствующие пользовательские настройки.

После первого запуска TweakPNG открывается пустым окном. В нем уже видны основные элементы интерфейса: меню File, Edit, Insert, Options, Tools, Help, а также таблица с колонками Chunk, Length, CRC, Attributes, Contents.

Такой стартовый экран хорошо показывает принцип программы. Пока PNG-файл не открыт, таблица пустая. После открытия изображения строки заполняются chunks, а внизу появляется размер файла.

Интерфейс главного окна

Главное окно TweakPNG состоит из нескольких понятных частей. Вверху находится строка меню, под ней — таблица chunks, внизу — строка состояния. Интерфейс не перегружен: программа не пытается быть универсальным графическим редактором и не показывает панель инструментов с десятками иконок. Основная рабочая область — таблица, где каждая строка соответствует одному блоку PNG-файла.

Колонки таблицы:

Колонка Что показывает
Chunk четырехбуквенный код блока: IHDR, IDAT, IEND, tEXt, pHYs и другие
Length размер данных внутри chunk в байтах
CRC контрольная сумма chunk
Attributes свойства chunk: critical/ancillary, safe/unsafe to copy и другие атрибуты
Contents расшифровка содержимого: размеры изображения, гамма, физический размер, текст, палитра, данные изображения

Колонка Chunk нужна для быстрого понимания структуры файла. Например, обычный PNG начинается с IHDR, содержит один или несколько IDAT и заканчивается IEND. Колонка Length помогает увидеть, какие блоки занимают больше всего места. Чаще всего основная масса данных находится в IDAT, потому что именно там лежит сжатый поток пикселей. Колонка CRC полезна при проверке целостности. Колонка Attributes показывает тип блока: критический или вспомогательный, безопасный или небезопасный для копирования. Колонка Contents делает работу удобнее: вместо голых байтов TweakPNG выводит понятное описание.

В рабочем окне можно менять ширину колонок. Если описание в Contents длинное, удобно растянуть эту колонку. Если нужно сосредоточиться на CRC или длине, можно сузить остальные поля. Для редактирования chunk достаточно дважды щелкнуть по строке или выделить строку и нажать Enter. Не все blocks редактируются, но для большинства служебных PNG chunks TweakPNG открывает отдельное окно с конкретными полями.

Главное окно TweakPNG с открытым sample.png и таблицей chunks

На скриншоте видно, как TweakPNG представляет PNG-файл. В таблице отображаются IHDR, cHRM, gAMA, PLTE, tRNS, bKGD, pHYs, tIME, несколько IDAT. В строке состояния показан общий размер файла. Такой вид сразу помогает понять, что изображение палитровое, содержит прозрачность, фоновый цвет, гамму, chromaticities, физический размер пикселя и время последнего изменения.

Меню File

Меню File отвечает за создание, открытие, сохранение и проверку файла. В нем находятся команды:

Команда Горячая клавиша Назначение
New Ctrl+N создать новый документ
Open… Ctrl+O открыть PNG, MNG или JNG
Reopen Ctrl+R заново открыть текущий файл
Save Ctrl+S сохранить изменения
Save As… Ctrl+Shift+S / F12 сохранить копию под другим именем
Close закрыть текущий документ
Check Validity F5 проверить структуру файла
File Signature… выбрать сигнатуру PNG, MNG или JNG
Exit Alt+F4 закрыть программу

В реальной работе важнее всего связка Open…, Check Validity и Save As…. Оригинальный PNG лучше не перезаписывать сразу: безопаснее открыть файл, внести изменения, проверить его через Check Validity, а затем сохранить результат как копию. Это особенно важно при редактировании IHDR, PLTE, tRNS, IDAT и нестандартных chunks.

Команда Reopen удобна, когда файл был изменен сторонним инструментом или пользователь хочет быстро вернуть исходное состояние после эксперимента. Close закрывает текущий документ, не завершая работу с программой. File Signature… относится к более редким операциям: она позволяет выбрать сигнатуру файла из вариантов PNG, MNG, JNG.

Меню Edit

Меню Edit — главный рабочий раздел для изменения уже существующих chunks. В нем находятся команды:

Команда Горячая клавиша Что делает
Edit Chunk… Enter открыть окно редактирования выделенного chunk
Delete Del удалить выделенный chunk
Move Up Alt+Up переместить chunk выше
Move Down Alt+Down переместить chunk ниже
Cut Ctrl+X вырезать chunk в буфер обмена
Copy Ctrl+C скопировать chunk
Paste Ctrl+V вставить chunk перед выделенным блоком
Combine Selected IDAT объединить выделенные IDAT
Combine All IDAT объединить все IDAT
Split IDAT… разделить IDAT
Import Chunk… импортировать chunk из внешнего файла
Export Chunk… экспортировать выделенный chunk
Import ICC Profile… создать iCCP из ICC-профиля

Команда Edit Chunk… работает не одинаково для всех типов. Для gAMA открывается окно File gamma с полем Gamma. Для pHYs — окно Physical pixel size с полями X, Y и выбором единиц unspecified units или meter. Для sRGB — окно с вариантами rendering intent: Perceptual, Relative Colorimetric, Saturation, Absolute Colorimetric. Для tEXt/zTXt/iTXt — окно Text, где есть Keyword, Compressed, International text, Language tag, Translated keyword и многострочное поле содержимого.

Команды Move Up и Move Down требуют аккуратности. PNG чувствителен к порядку chunks: IHDR должен быть первым, IEND последним, IDAT должны идти подряд. TweakPNG позволяет перемещать блоки, но пользователь должен понимать последствия. После перестановки нужно запускать Check Validity.

Cut, Copy и Paste полезны, если нужно перенести служебный chunk из одного PNG в другой. Например, можно скопировать текстовый блок tEXt или параметры pHYs. Вставка происходит перед выделенным chunk, а не поверх него, поэтому нужно заранее выбрать правильную позицию.

Меню Insert

Меню Insert добавляет новые chunks. Это одна из сильных сторон TweakPNG: программа не только показывает структуру PNG, но и умеет создавать многие стандартные и дополнительные блоки.

Доступные команды меню Insert:

Команда Назначение
acTL (APNG animation control) блок управления APNG-анимацией
bKGD (Background color) фоновый цвет
cHRM (Chromaticities) координаты цветностей
fcTL (APNG frame control) параметры кадра APNG
gAMA (Gamma) гамма изображения
IEND (End of image) конечный блок изображения
IHDR (Image header) заголовок PNG
oFFs (Image offset) смещение изображения
pHYs (Pixel size, aspect ratio) физический размер пикселя и пропорции
PLTE (Palette) палитра
sBIT (Significant bits per sample) значимые биты компонента
sCAL (Physical scale) физический масштаб
sRGB (sRGB color space indicator) индикатор sRGB
sTER (Stereo image indicator) стереоскопический индикатор
tEXt/zTXt/iTXt (Text) текстовый chunk
tIME (Time of last modification) время последнего изменения
tRNS (Transparency) прозрачность
vpAg (Virtual page) виртуальная страница

После вставки нового chunk его часто нужно отредактировать и проверить расположение. TweakPNG создает блок с начальными значениями, но не всегда размещает его в позиции, которая идеально подходит для конкретного файла. Поэтому типичная последовательность такая: добавить chunk через Insert, отредактировать его через Edit Chunk…, при необходимости переместить через Move Up или Move Down, затем проверить через Check Validity.

Меню Insert особенно полезно при добавлении текстовых метаданных, pHYs, gAMA, sRGB, tRNS, bKGD. Например, если PNG-файл не содержит физического размера пикселя, можно добавить pHYs и задать плотность в pixels per meter. Если нужно добавить комментарий, используется tEXt/zTXt/iTXt (Text).

Меню Options

В меню Options находятся две команды:

  • Preferences…

  • Configure Tools…

Preferences… открывает небольшое окно настроек. В нем есть параметр Compression level for new zTXt chunks и флажок Add TweakPNG to Explorer context menu. Первый параметр задает уровень сжатия для новых zTXt chunks. Второй добавляет пункт TweakPNG в контекстное меню Windows Explorer для файлов с расширениями PNG, MNG и JNG.

Опция контекстного меню удобна, если TweakPNG используется постоянно. Вместо запуска программы и команды File → Open… можно щелкнуть по файлу правой кнопкой мыши и открыть его сразу в TweakPNG. При этом двойной щелчок по PNG продолжит открывать изображение в обычном просмотрщике, а TweakPNG будет доступен как отдельный пункт.

Configure Tools… открывает окно Configure tools. В нем можно задать до шести внешних инструментов. Для каждого инструмента предусмотрены поля Name, Program, Parameters и кнопка для выбора исполняемого файла. Такой механизм делает TweakPNG небольшим рабочим центром: из него можно запускать внешний просмотрщик, браузер, консольный фильтр или утилиту обработки PNG.

Меню Tools и встроенный просмотрщик

Меню Tools используется для вызова встроенного просмотрщика и внешних инструментов. Встроенный viewer вызывается через Tools → Show Image Viewer или горячую клавишу F7. Он не превращает TweakPNG в графический редактор, но позволяет увидеть текущее состояние изображения после изменений.

Окно viewer имеет собственное меню:

Раздел Команды
File Close Viewer
Edit Copy Image
Options Gamma Correction, Use Custom Background Color, Use Image Or Custom Background, Strip Alpha Channel, Set Custom Background Color…, Window Background Color, Correct for Nonsquare Pixels
Zoom Fit, 12.5%, 25%, 50%, 100%, 200%, 400%

Команда Copy Image копирует изображение в буфер обмена. Gamma Correction управляет коррекцией гаммы при отображении. Параметры фона полезны при проверке прозрачности: можно включить пользовательский фон, использовать фон из изображения или временно скрыть alpha channel через Strip Alpha Channel. Correct for Nonsquare Pixels нужен для случаев, когда pHYs описывает неквадратные пиксели.

Встроенный viewer пассивный: он не рисует, не ретуширует, не изменяет пиксели кистью. Его задача — показать, как текущий PNG выглядит после правок в таблице chunks.

Открытие PNG и чтение структуры файла

Работа с TweakPNG обычно начинается с открытия файла через File → Open… или перетаскивания PNG в окно. После загрузки программа сразу разбирает файл на chunks и заполняет таблицу. На этом этапе можно понять, насколько файл простой или насыщенный метаданными.

На скриншоте видно типичную структуру файла: IHDR, gAMA, cHRM, bKGD, несколько IDAT, текстовые chunks и IEND. В колонке Contents TweakPNG расшифровывает назначение строк. Например, для IHDR показываются размеры изображения, bit depth, color type и interlace mode; для gAMA — значение file gamma; для cHRM — координаты white point, red, green, blue; для bKGD — background color; для tEXt — ключ и значение текстового блока.

Быстрая проверка PNG в TweakPNG выглядит так:

  1. Открыть файл через File → Open….

  2. Найти первую строку IHDR.

  3. Убедиться, что в конце есть IEND.

  4. Посмотреть, сколько IDAT содержит файл.

  5. Проверить, есть ли служебные chunks: gAMA, cHRM, sRGB, pHYs, tEXt, zTXt, iTXt, iCCP, PLTE, tRNS.

  6. Выделить подозрительный chunk и посмотреть колонку Contents.

  7. Запустить File → Check Validity.

Если файл содержит нестандартные или приватные chunks, TweakPNG показывает их код и основные атрибуты. Даже если программа не умеет интерпретировать содержимое такого блока, она все равно помогает увидеть его длину, CRC и позицию в файле.

Проверка файла через Check Validity

Команда Check Validity запускается из меню File или клавишей F5. Она проверяет общую структуру текущего файла: порядок chunks, наличие обязательных блоков, базовые условия валидности PNG. Это не глубокая экспертиза каждого байта и не полноценный декодер всех возможных сценариев, но для ручной работы в TweakPNG команда обязательна.

Проверку нужно выполнять:

  • сразу после открытия подозрительного файла;

  • после удаления chunk;

  • после добавления нового chunk;

  • после перемещения blocks;

  • после объединения или разделения IDAT;

  • перед сохранением результата;

  • после импорта внешнего chunk.

TweakPNG автоматически проверяет файл перед сохранением. Если обнаруживаются проблемы, программа просит подтвердить сохранение. Это важное поведение: пользователь может намеренно делать некорректный тестовый PNG, но при обычной работе предупреждение помогает не испортить файл случайно.

Типичные проблемы, которые хорошо выявляет Check Validity:

Проблема Что означает
отсутствует IHDR нет обязательного заголовка PNG
отсутствует IEND файл не имеет корректного завершающего блока
IHDR стоит не первым нарушен порядок критических chunks
IDAT идут не подряд поток image data поврежден структурно
лишние chunks стоят после IEND данные находятся за пределами нормального PNG-потока
chunk расположен в неправильной зоне блок вставлен до или после места, где он допустим

Команда не делает файл правильным автоматически. Она только сообщает о структурной проблеме. Исправление выполняется вручную: удалить лишний chunk, переместить блок, вернуть IEND в конец, не трогать порядок IDAT.

Редактирование PNG Header через IHDR

IHDR — первый и самый важный chunk PNG-файла. В TweakPNG он отображается как PNG image header. Через Edit Chunk… открывается окно PNG Header, где есть поля:

  • Width;

  • Height;

  • Bit depth;

  • Color type;

  • Interlaced;

  • кнопки OK и Cancel.

В этом же окне выводится предупреждение: изменение полей может сделать изображение нечитаемым. Это не формальность. IHDR описывает то, как нужно декодировать последующие image data. Если просто изменить ширину или высоту, TweakPNG не пересоберет пиксельный поток. Файл начнет заявлять другие параметры, но реальные IDAT останутся прежними. Иногда это используют в CTF и forensic-задачах, когда нужно проверить неверно записанный размер, но для обычной обработки изображений такой способ рискован.

Практический сценарий редактирования IHDR:

  1. Открыть PNG.

  2. Выделить строку IHDR.

  3. Нажать Enter или выбрать Edit → Edit Chunk….

  4. Посмотреть Width, Height, Bit depth, Color type, Interlaced.

  5. Изменять поля только при понимании структуры файла.

  6. Нажать OK.

  7. Запустить File → Check Validity.

  8. Сохранить копию через File → Save As….

Для нормальных файлов IHDR чаще смотрят, чем редактируют. Он полезен как источник точных параметров: ширина, высота, bit depth, color type, interlace mode. Если цель — изменить размер изображения, лучше использовать ImageMagick, GIMP, Paint.NET или другой редактор, который пересчитывает пиксели. TweakPNG здесь нужен не для ресайза, а для просмотра и точечной правки заголовка.

Работа с текстовыми метаданными tEXt, zTXt и iTXt

Одна из самых практичных функций TweakPNG — добавление и изменение текстовых chunks. Через меню Insert → tEXt/zTXt/iTXt (Text) открывается окно Text. В нем есть:

  • Keyword;

  • флажок Compressed;

  • флажок International text;

  • Language tag;

  • Translated keyword;

  • большое многострочное поле для текста;

  • OK;

  • Cancel.

tEXt хранит простой текст без сжатия. zTXt хранит текст в сжатом виде. iTXt используется для международного текста и может включать language tag и translated keyword. TweakPNG объединяет работу с этими вариантами в одном окне, поэтому пользователь не обязан вручную создавать бинарный блок.

Добавление комментария в PNG:

  1. Открыть файл.

  2. Выбрать Insert → tEXt/zTXt/iTXt (Text) или нажать Ctrl+T.

  3. В поле Keyword ввести, например, Comment, Description, Author или другой ключ.

  4. Оставить Compressed выключенным для обычного tEXt или включить для zTXt.

  5. Включить International text, если нужен iTXt.

  6. При необходимости заполнить Language tag и Translated keyword.

  7. Ввести текст в большое поле.

  8. Нажать OK.

  9. Проверить файл через Check Validity.

  10. Сохранить копию.

Такой сценарий полезен, когда нужно добавить техническое описание к PNG, сохранить комментарий, зафиксировать параметры генерации или проверить, какие программы сохраняют и читают текстовые метаданные. TweakPNG также хорошо подходит для просмотра скрытых текстовых блоков. Если в колонке Contents появляется text, key=..., можно открыть chunk и посмотреть значение полностью.

Для удаления текстовых метаданных достаточно выделить строку tEXt, zTXt или iTXt и нажать Delete. После этого нужно сохранить копию. Такой способ помогает убрать ненужные комментарии, служебные строки генераторов изображений, приватные пометки и лишние текстовые chunks, которые увеличивают размер файла.

Редактирование gAMA

Chunk gAMA задает file gamma. В TweakPNG он редактируется через окно File gamma. В окне есть поле Gamma и кнопки OK и Cancel. В колонке Contents программа показывает значение вроде file gamma = 0.45455.

gAMA влияет на интерпретацию яркости при отображении. Встроенный viewer TweakPNG умеет учитывать gamma correction, поэтому после изменения gAMA можно открыть Tools → Show Image Viewer и проверить, как меняется вид изображения. Однако редактирование gAMA не заменяет полноценную цветокоррекцию. TweakPNG меняет служебный chunk, а не пересчитывает сами пиксели.

Типичный порядок:

  1. Выделить gAMA.

  2. Открыть Edit Chunk….

  3. Изменить Gamma.

  4. Нажать OK.

  5. Проверить результат во viewer.

  6. Запустить Check Validity.

  7. Сохранить файл как копию.

Если gAMA отсутствует, его можно добавить через Insert → gAMA (Gamma). Такой сценарий полезен для тестирования приложений, которые по-разному реагируют на PNG gamma metadata.

Редактирование cHRM

Chunk cHRM хранит chromaticities: координаты white point и цветовых primaries. В TweakPNG для него открывается окно Chromaticities, где есть строки:

  • White point;

  • Red;

  • Green;

  • Blue.

Для каждой строки используются поля X и Y. В колонке Contents программа выводит значения вида chromaticities: WP(...) R(...) G(...) B(...).

cHRM нужен не всем PNG-файлам, но полезен при тестировании color management. TweakPNG позволяет быстро увидеть, есть ли этот блок, и изменить значения без ручного пересчета бинарной структуры. Важно понимать, что далеко не все просмотрщики одинаково учитывают cHRM, особенно если в файле также есть sRGB или iCCP.

Редактирование sRGB

Chunk sRGB указывает, что изображение использует sRGB color space, и содержит rendering intent. В TweakPNG окно редактирования sRGB предлагает варианты:

  • Perceptual;

  • Relative Colorimetric;

  • Saturation;

  • Absolute Colorimetric.

Для обычного пользователя это выглядит как узкая настройка, но для проверки работы приложений с PNG color management она полезна. Например, можно создать несколько вариантов одного файла с разными rendering intent и посмотреть, как их воспринимает сторонняя программа.

Если sRGB отсутствует, его можно добавить через Insert → sRGB (sRGB color space indicator). Если он мешает чистому тесту, его можно удалить. После изменения цветовых chunks обязательно стоит проверить файл и открыть viewer.

Редактирование pHYs: физический размер пикселя

Chunk pHYs описывает физический размер пикселя и aspect ratio. В TweakPNG он отображается как Physical pixel size. Окно редактирования содержит:

  • поле X;

  • поле Y;

  • подпись Pixels per;

  • переключатель unspecified units;

  • переключатель meter;

  • информационную строку с пересчетом;

  • OK;

  • Cancel.

pHYs часто используется для записи плотности в pixels per meter. Если значения X и Y равны 2835 pixels per meter, это соответствует примерно 72 dpi. Если X и Y отличаются, viewer может учитывать неквадратные пиксели. Для таких файлов во встроенном viewer есть настройка Correct for Nonsquare Pixels.

Практический порядок:

  1. Найти строку pHYs.

  2. Открыть Edit Chunk….

  3. Ввести значения X и Y.

  4. Выбрать meter, если значения заданы в пикселях на метр.

  5. Нажать OK.

  6. Проверить строку Contents.

  7. При необходимости открыть viewer и включить Correct for Nonsquare Pixels.

Если pHYs отсутствует, его можно добавить через Insert → pHYs (Pixel size, aspect ratio). Это полезно, когда нужно явно задать плотность или проверить, как сторонние программы читают физические размеры PNG.

Редактирование tIME

Chunk tIME хранит время последнего изменения изображения. В TweakPNG для него открывается окно Last modification time. В нем есть поля:

  • Year;

  • Month;

  • Day;

  • Hour;

  • Minute;

  • Second;

  • кнопка Set to current time;

  • OK;

  • Cancel.

В окне указано, что время вводится в universal time. Это важно: tIME не хранит локальный часовой пояс так, как многие современные форматы метаданных. Если нужно просто обновить метку на текущую, удобнее нажать Set to current time. Если нужно воспроизвести конкретное время для теста, значения вводятся вручную.

tIME редко влияет на отображение картинки, но может быть важен при forensic-анализе, сравнении файлов, тестировании конвертеров и проверке того, какие программы сохраняют или удаляют временные chunks.

Палитра PLTE

PLTE содержит палитру PNG. В TweakPNG для него есть окно Palette. Оно особенно полезно для indexed-color изображений, где цвета задаются таблицей, а пиксели ссылаются на индексы палитры.

Окно Palette содержит:

  • поле количества цветов в палитре;

  • поле количества alpha values;

  • отображение элементов палитры;

  • подписи I, R, G, B, A;

  • кнопку-переключатель Set bkgd;

  • кнопку-переключатель Edit alpha;

  • маленькую кнопку *;

  • OK и Cancel.

Чтобы изменить цвет палитры, нужно выбрать элемент палитры, когда Set bkgd и Edit alpha не нажаты. После выбора открывается стандартный выбор цвета. Если уменьшить количество цветов, можно получить некорректный файл, если удаляемые цвета реально используются в изображении. Поэтому сокращение палитры нужно выполнять осторожно.

Для палитрового PNG TweakPNG позволяет управлять сразу несколькими связанными блоками: PLTE, tRNS, bKGD. Это удобно, потому что прозрачность и фоновый цвет в таких файлах привязаны к индексам палитры.

Прозрачность tRNS

Chunk tRNS отвечает за прозрачность. В палитровых PNG он хранит alpha values для элементов палитры. В TweakPNG прозрачность редактируется через palette editor.

Рабочая логика такая:

  1. Убедиться, что в файле есть PLTE.

  2. Если tRNS отсутствует, добавить его через Insert → tRNS (Transparency).

  3. Открыть tRNS или PLTE через Edit Chunk….

  4. Нажать Edit alpha.

  5. Щелкнуть по нужному цвету палитры.

  6. Ввести значение alpha.

  7. Нажать OK.

  8. Проверить изображение во viewer.

Alpha value 0 означает полную прозрачность, 255 — полную непрозрачность. Промежуточные значения дают частичную прозрачность. Если нужно полностью убрать прозрачность палитрового PNG, не обязательно ставить всем alpha 255: проще удалить chunk tRNS.

TweakPNG удобен тем, что позволяет увидеть, где именно хранится прозрачность. Во многих обычных редакторах пользователь видит только визуальный результат, а TweakPNG показывает служебный механизм: PLTE хранит цвета, tRNS задает прозрачность для части этих цветов.

Фоновый цвет bKGD

Chunk bKGD задает рекомендованный background color. В палитровом изображении он связан с элементом палитры, а в truecolor или grayscale сценариях хранит соответствующие значения цвета. В TweakPNG для палитровых файлов используется тот же palette editor.

Чтобы изменить фоновый цвет в палитровом PNG:

  1. Убедиться, что есть PLTE.

  2. Если bKGD отсутствует, добавить Insert → bKGD (Background color).

  3. Открыть bKGD через Edit Chunk….

  4. Нажать Set bkgd.

  5. Выбрать элемент палитры.

  6. Нажать OK.

  7. Проверить строку Contents.

Фоновый цвет не всегда визуально используется просмотрщиками. Это рекомендация для программ, которые учитывают bKGD. Поэтому TweakPNG хорошо подходит для проверки: можно создать файл с разными вариантами bKGD и посмотреть, как ведут себя браузеры, просмотрщики и графические библиотеки.

Работа с IDAT

IDAT — критический chunk, который содержит сжатые image data. В большинстве PNG именно IDAT занимает основную часть размера. Файл может содержать один IDAT или несколько. Важное правило: если IDAT несколько, они должны идти подряд.

TweakPNG не редактирует содержимое IDAT как пиксели. Программа не предназначена для ручного изменения сжатого потока. Но она умеет выполнять структурные операции:

  • Combine Selected IDAT;

  • Combine All IDAT;

  • Split IDAT….

Combine All IDAT объединяет все IDAT chunks. Такая операция может немного уменьшить размер файла, потому что каждый удаленный chunk убирает служебные 12 байт: length, type и CRC. Это не глубокая оптимизация изображения, но для структуры файла операция корректная, если IDAT идут правильно.

Split IDAT… делает обратное: разделяет один IDAT на несколько частей. В окне Split IDAT chunk есть поле Size in bytes of first chunk (0-12345) и флажок Repeat as many times as possible. Если флажок выключен, создается разделение на две части. Если включен, TweakPNG повторяет деление максимально возможное число раз.

Разделение IDAT полезно не для обычного пользователя, а для тестирования PNG-декодеров. Некоторые приложения могут некорректно обрабатывать множество маленьких IDAT, нулевой IDAT или необычное разбиение потока. TweakPNG позволяет подготовить такие тестовые файлы без написания собственного PNG-генератора.

Переставлять IDAT вручную нельзя. Если поменять порядок частей image data, файл станет нечитаемым или будет декодироваться неправильно. Перемещение chunks допустимо для многих ancillary blocks, но с IDAT нужно соблюдать порядок особенно строго.

Импорт и экспорт chunks

Команды Import Chunk… и Export Chunk… позволяют работать с отдельными blocks как с самостоятельными фрагментами. Это полезно, когда нужно перенести chunk из одного PNG в другой, сохранить его для анализа или вставить частный block, созданный отдельно.

Export Chunk… сохраняет выделенный chunk во внешний файл. Работает только с одним chunk за раз. Это удобно для изучения tEXt, PLTE, нестандартных private chunks и других блоков.

Import Chunk… вставляет chunk из внешнего файла. Внешний файл должен начинаться с четырех символов идентификатора chunk, например PLTE, а затем содержать данные блока. В нем не должно быть length и CRC: TweakPNG формирует эти части сам. Такая схема позволяет вставлять даже private unregistered chunks, если пользователь подготовил корректные данные.

Практический пример переноса текстового chunk:

  1. Открыть PNG-источник.

  2. Выделить tEXt, zTXt или iTXt.

  3. Выбрать Edit → Export Chunk….

  4. Сохранить chunk во внешний файл.

  5. Открыть целевой PNG.

  6. Выбрать позицию вставки.

  7. Выполнить Edit → Import Chunk….

  8. Проверить файл через Check Validity.

  9. Сохранить копию.

Такой способ точнее, чем копирование текстовых метаданных через обычные редакторы. TweakPNG переносит именно chunk-структуру, а не только видимый текст.

Import ICC Profile

Команда Import ICC Profile… создает iCCP chunk из стандартного ICC color profile. Это отдельная функция, потому что ICC-профиль нужно упаковать в PNG-совместимый iCCP, а не просто вставить как произвольные байты.

В колонке Contents для iCCP TweakPNG обычно показывает имя профиля. Полноценное редактирование содержимого профиля программа не выполняет: профиль импортируется как готовый объект. Это правильная логика, потому что ICC-профиль сам по себе является сложной структурой, которую редактируют специализированными средствами color management.

Сценарий использования:

  1. Открыть PNG.

  2. Выбрать Edit → Import ICC Profile….

  3. Указать файл .icc.

  4. Проверить появление iCCP.

  5. Запустить Check Validity.

  6. Сохранить PNG как копию.

Эта функция полезна при подготовке изображений для приложений, которые должны учитывать ICC-профили, или при проверке того, сохраняет ли сторонний софт iCCP после обработки PNG.

File Signature: PNG, MNG, JNG

Команда File → File Signature… открывает окно Set file type signature. В нем есть три варианта:

  • PNG;

  • MNG;

  • JNG.

Сигнатура — первые байты файла, по которым определяется семейство формата. В обычной работе менять ее почти никогда не нужно. Если PNG-файл является обычным статическим изображением, должен использоваться вариант PNG. Поддержка MNG и JNG в TweakPNG присутствует как дополнительная возможность, но программа не превращается в полноценный редактор MNG-анимаций или JNG-структур.

Для MNG/JNG TweakPNG может показывать, перемещать и удалять некоторые chunks, но не дает такого же полноценного смыслового редактирования всех MNG-specific блоков. Поэтому основная область применения программы остается PNG.

Configure Tools: подключение внешних программ

Окно Configure tools открывается через Options → Configure Tools…. В нем шесть строк для внешних инструментов. Каждая строка содержит:

  • Name — название, которое появится в меню Tools;

  • Program — путь к исполняемому файлу;

  • кнопку — выбор программы;

  • Parameters — параметры командной строки.

Если указанный инструмент просто открывает файл, он работает как viewer. Если в Parameters используются %1 и %2, TweakPNG рассматривает инструмент как filter: %1 заменяется входным временным файлом, %2 — выходным временным файлом.

Пример viewer:

Поле Значение
Name Firefox
Program firefox.exe
Parameters пусто

После сохранения Firefox появится в меню Tools. При запуске TweakPNG запишет текущий документ во временный файл и откроет его во внешней программе.

Пример filter:

Поле Значение
Name pngrewrite
Program C:Program Filespngrewritepngrewrite.exe
Parameters %1 %2

В этом режиме TweakPNG передает текущий PNG во внешний инструмент, ожидает выходной файл, затем считывает результат обратно. Это полезно для связки ручного chunk-level редактирования и автоматической обработки.

Практический сценарий: удалить лишние chunks

Один из самых частых сценариев — убрать ненужные служебные blocks. Например, PNG может содержать лишние текстовые комментарии, время изменения, физический размер пикселя, нестандартные chunks от генератора или редактора. Если они не нужны, их можно удалить.

Порядок действий:

  1. Открыть PNG через File → Open….

  2. Просмотреть список chunks.

  3. Найти вспомогательные blocks: tEXt, zTXt, iTXt, tIME, некоторые private chunks.

  4. Не трогать обязательные IHDR, IDAT, IEND.

  5. Выделить ненужный chunk.

  6. Нажать Delete.

  7. Повторить для остальных лишних blocks.

  8. Запустить Check Validity.

  9. Сохранить файл через Save As….

Удаление chunks может уменьшить размер файла, но главная польза не всегда в экономии байтов. Иногда важнее убрать метаданные, которые не должны попадать в публикацию: авторские комментарии, внутренние пометки, параметры генерации или служебные строки.

TweakPNG хорош именно для ручного контроля. Автоматические оптимизаторы могут удалить blocks по своим правилам, а TweakPNG позволяет увидеть каждую строку и принять решение.

Практический сценарий: добавить комментарий в PNG

Для добавления комментария используется текстовый chunk. Самый простой вариант — tEXt.

Порядок действий:

  1. Открыть файл.

  2. Выбрать Insert → tEXt/zTXt/iTXt (Text).

  3. В Keyword ввести Comment.

  4. Оставить Compressed выключенным, если нужен простой tEXt.

  5. Ввести комментарий в большое текстовое поле.

  6. Нажать OK.

  7. Проверить новую строку в таблице.

  8. Выполнить Check Validity.

  9. Сохранить копию.

Если текст длинный, можно включить Compressed, чтобы получить zTXt. Если нужен международный текст с языковой меткой, используется International text и поля Language tag, Translated keyword.

Такой способ удобен для тестов, документации и ручной маркировки PNG-файлов. Например, можно добавить информацию о версии проекта, условиях генерации или назначении тестового изображения.

Практический сценарий: проверить подозрительный PNG

TweakPNG хорошо подходит для первичного анализа подозрительного PNG-файла. Он показывает структуру, нестандартные chunks, текстовые метаданные и необычные размеры blocks.

Порядок проверки:

  1. Открыть PNG.

  2. Запустить Check Validity.

  3. Посмотреть, начинается ли файл с IHDR.

  4. Проверить, есть ли IEND.

  5. Посмотреть количество IDAT.

  6. Найти нестандартные chunks.

  7. Проверить tEXt, zTXt, iTXt.

  8. Обратить внимание на большие ancillary chunks.

  9. При необходимости экспортировать подозрительный chunk через Export Chunk….

  10. Сохранить исходный файл без изменений, а эксперименты выполнять на копии.

Для CTF и цифровой криминалистики это особенно полезно. В PNG могут находиться текстовые подсказки, скрытые служебные блоки, намеренно измененный IHDR, необычная gamma, нестандартный pHYs, несколько IDAT или private chunks. TweakPNG не заменяет binwalk, strings, ExifTool, pngcheck и hex-редактор, но дает быстрый визуальный обзор структуры PNG.

Практический сценарий: изменить прозрачность палитрового PNG

Если изображение палитровое, прозрачность часто задается через tRNS. TweakPNG позволяет редактировать alpha values в palette editor.

Порядок действий:

  1. Открыть палитровый PNG.

  2. Убедиться, что есть PLTE.

  3. Если tRNS отсутствует, добавить Insert → tRNS (Transparency).

  4. Открыть tRNS или PLTE через Edit Chunk….

  5. Нажать Edit alpha.

  6. Выбрать цвет палитры.

  7. Ввести alpha value.

  8. Нажать OK.

  9. Открыть Tools → Show Image Viewer.

  10. Проверить результат на пользовательском фоне.

  11. Сохранить копию.

Для проверки прозрачности удобно использовать настройки viewer: Use Custom Background Color, Use Image Or Custom Background, Strip Alpha Channel. Они помогают увидеть, где прозрачность действительно работает, а где цвет просто похож на фон.

Практический сценарий: задать физический размер пикселя

Некоторым изображениям нужно явно задать плотность или aspect ratio. В PNG за это отвечает pHYs.

Порядок действий:

  1. Открыть PNG.

  2. Если pHYs уже есть, выделить его и нажать Enter.

  3. Если pHYs нет, выбрать Insert → pHYs (Pixel size, aspect ratio).

  4. В окне Physical pixel size заполнить X и Y.

  5. Выбрать meter или unspecified units.

  6. Нажать OK.

  7. Проверить колонку Contents.

  8. Запустить Check Validity.

Этот сценарий полезен при подготовке PNG для программ, которые читают физическую плотность изображения. При этом TweakPNG не меняет реальные пиксели. Он изменяет metadata, которые сообщают приложению, как интерпретировать физический размер.

Практический сценарий: подготовить тестовый PNG

TweakPNG особенно силен как инструмент подготовки тестовых файлов. С его помощью можно быстро создать PNG с необычной структурой и проверить, как его обрабатывает приложение, библиотека или веб-сервис.

Можно подготовить такие тесты:

  • PNG с несколькими IDAT;

  • PNG с разделенным IDAT;

  • PNG с нулевым или маленьким IDAT;

  • PNG с gAMA, но без sRGB;

  • PNG с sRGB и разными rendering intent;

  • PNG с cHRM;

  • PNG с iCCP;

  • PNG с несколькими текстовыми chunks;

  • PNG с private chunk;

  • PNG с нестандартным pHYs;

  • палитровый PNG с PLTE, tRNS, bKGD;

  • APNG-related chunks acTL и fcTL.

Для разработчика это быстрее, чем писать собственный генератор PNG. Можно взять нормальный файл, добавить или изменить blocks, сохранить копию и прогнать ее через тестируемую программу.

Поддерживаемые chunks и ограничения редактирования

TweakPNG поддерживает просмотр, редактирование и создание многих chunks, но не всех. Это важно понимать: программа не является универсальным редактором любого возможного PNG-блока.

Хорошо поддерживаются:

Chunk Просмотр Редактирование Создание
IHDR да да да
PLTE да да да
bKGD да да да
gAMA да да да
cHRM да да да
tRNS да да да
sBIT да да да
sRGB да да да
tEXt да да да
zTXt да да да
iTXt да да да
pHYs да да да
tIME да да да
sTER да да да
oFFs да да да
sCAL да да да
acTL да да да
fcTL да да да
vpAg да да да

Ограниченно поддерживаются или не редактируются:

Chunk Особенность
IDAT содержимое не редактируется как пиксели, доступны combine/split
IEND создается как конечный блок, но обычного содержимого не имеет
iCCP импортируется из ICC-профиля, имя отображается, полноценное редактирование профиля не выполняется
sPLT отображается ограниченно
hIST не является основной областью редактирования
MNG-specific chunks могут перемещаться или удаляться, но не всегда интерпретируются

Такой набор показывает, что TweakPNG ориентирован на реальные технические задачи, а не на декоративное редактирование. Программа закрывает именно chunk-level view и редактирование служебных полей.

Особенности работы с MNG и JNG

TweakPNG поддерживает не только PNG, но и частично MNG/JNG. Однако главная специализация программы — PNG. MNG — формат семейства PNG для multi-image и animation, JNG связан с JPEG Network Graphics. В TweakPNG можно выбрать сигнатуру MNG или JNG, открывать такие файлы и работать с частью blocks, но программа не интерпретирует MNG-specific структуру так же глубоко, как PNG.

Для MNG/JNG TweakPNG лучше рассматривать как вспомогательный инструмент. Он может показать chunks, дать возможность перемещать или удалять некоторые блоки, выполнить отдельные операции с JDAT/IDAT-подобными данными, но не заменяет специализированные средства для MNG-анимаций.

В статье о TweakPNG важно не переоценивать эту часть: поддержка MNG/JNG есть, но основное практическое применение программы — просмотр и редактирование PNG chunks.

Сильные стороны TweakPNG

Главное преимущество TweakPNG — прямой, но достаточно удобный доступ к структуре PNG. Программа занимает мало места, быстро запускается, не требует установки и показывает то, что обычные просмотрщики скрывают.

Сильные стороны:

  • компактность и портативный запуск;

  • отдельные x86 и x64 исполняемые файлы;

  • понятная таблица Chunk / Length / CRC / Attributes / Contents;

  • просмотр PNG-файла на уровне chunks;

  • редактирование многих стандартных служебных blocks;

  • добавление tEXt, zTXt, iTXt;

  • работа с gAMA, cHRM, sRGB;

  • редактирование pHYs;

  • работа с PLTE, tRNS, bKGD;

  • импорт ICC-профиля;

  • экспорт и импорт отдельных chunks;

  • объединение и разделение IDAT;

  • встроенный viewer;

  • настройка внешних tools;

  • интеграция в контекстное меню Explorer;

  • удобство для тестовых PNG и forensic-задач;

  • открытая лицензия GPL.

Особенно удачной выглядит колонка Contents. Она превращает TweakPNG из простого списка блоков в читабельный анализатор. Пользователь видит не только pHYs, но и расшифровку физического размера; не только tEXt, но и ключ текстового поля; не только IHDR, но и размеры, bit depth, color type, interlace status.

Ограничения и риски

TweakPNG не скрывает свою техническую природу. Пользователь должен понимать PNG-структуру хотя бы на базовом уровне. Программа позволяет сделать файл некорректным, потому что дает доступ к тем частям, которые обычные редакторы защищают от прямого изменения.

Ограничения:

  • нет обычного визуального редактирования изображения;

  • нет кистей, слоев, масок, фильтров и цветокоррекции;

  • нет пакетного режима;

  • нет автоматической оптимизации уровня Oxipng или OptiPNG;

  • нет полноценного hex-редактора внутри программы;

  • не все chunks можно редактировать;

  • IDAT нельзя редактировать как пиксельные данные;

  • неправильный порядок chunks ломает файл;

  • изменение IHDR не пересчитывает image data;

  • MNG/JNG поддерживаются ограниченно;

  • интерфейс выглядит старым;

  • программа рассчитана на пользователей, знакомых с PNG.

Отдельный риск — сохранение поверх оригинала. В TweakPNG лучше выработать привычку использовать Save As…. Если правка оказалась ошибочной, оригинальный файл останется нетронутым. Для экспериментов с IDAT, IHDR, PLTE и private chunks это обязательное правило.

Сравнение с аналогами

TweakPNG занимает узкую нишу: интерактивное редактирование PNG chunks в Windows-интерфейсе. Поэтому сравнивать его с обычными графическими редакторами бессмысленно. Реальные аналоги и соседние инструменты — это pngcheck, ExifTool, Nayuki PNG file chunk inspector, ImageMagick, OptiPNG, Oxipng, Pngcrush и hex-редакторы.

Программа Что лучше делает Где уступает TweakPNG
TweakPNG ручной просмотр и редактирование PNG chunks через GUI нет пакетной обработки, нет обычного редактирования изображения
pngcheck проверка PNG, CRC, вывод chunk-информации в командной строке не дает интерактивно редактировать chunks через GUI
ExifTool чтение и запись метаданных во множестве форматов не ориентирован на визуальное перемещение и ручное редактирование PNG chunks
Nayuki PNG file chunk inspector удобный web-просмотр структуры PNG работает как inspector, а не как настольный редактор файла
ImageMagick конвертация, ресайз, обработка изображений, автоматизация не заменяет ручной chunk-level editor
OptiPNG оптимизация PNG без потерь не предназначен для ручного добавления tEXt, pHYs, tRNS
Oxipng быстрая современная PNG-оптимизация не дает таблицу chunks и ручное редактирование
Pngcrush оптимизация и управление некоторыми PNG-параметрами сложнее для ручного визуального анализа
HxD полный доступ к байтам файла не расшифровывает PNG chunks так удобно
010 Editor шаблоны бинарных форматов, глубокий анализ сложнее и шире по назначению, чем TweakPNG

pngcheck хорошо подходит, когда нужно быстро проверить PNG из командной строки. Он показывает ошибки, CRC, размеры, типы blocks, может выводить подробную информацию. Но если нужно удалить конкретный tEXt, добавить pHYs, импортировать ICC-профиль или переместить chunk вручную, TweakPNG удобнее.

ExifTool сильнее в мире метаданных. Он работает с огромным количеством форматов и отлично подходит для пакетного чтения, удаления и записи metadata. Но ExifTool не показывает PNG как интерактивную таблицу chunks и не ориентирован на ручное структурное редактирование каждого блока.

Nayuki PNG file chunk inspector удобен для просмотра PNG-структуры в браузере. Он хорошо объясняет поля chunk и помогает быстро разобрать файл. Но это именно inspector. TweakPNG — настольная программа, которая позволяет менять файл и сохранять результат.

ImageMagick нужен для другого класса задач: изменить размер, сконвертировать формат, пересобрать изображение, применить операцию к сотням файлов. Если нужно обработать пиксели, ImageMagick сильнее. Если нужно посмотреть CRC, удалить tEXt, создать tRNS или разделить IDAT, TweakPNG точнее попадает в задачу.

OptiPNG, Oxipng и Pngcrush — оптимизаторы. Они хороши, когда цель — уменьшить размер PNG без визуальных потерь. Но они не заменяют TweakPNG, потому что не дают такого ручного контроля над отдельными chunks. Их можно использовать вместе: сначала изучить и вручную поправить файл в TweakPNG, затем прогнать копию через оптимизатор.

HxD и другие hex-редакторы дают абсолютный контроль, но требуют больше ручной работы. В hex-редакторе нужно самому понимать offsets, длину, тип chunk, CRC и структуру данных. TweakPNG решает эту часть за пользователя и поэтому быстрее для большинства PNG-задач.

Когда TweakPNG лучше не использовать

TweakPNG не нужен, если задача простая и визуальная. Для обрезки картинки, уменьшения размера, конвертации JPG в PNG, удаления фона, сжатия для сайта или ретуши лица программа не подходит. В таких случаях лучше выбрать графический редактор или оптимизатор.

Не стоит использовать TweakPNG для:

  • обычного рисования;

  • фотомонтажа;

  • пакетного изменения размеров;

  • автоматической оптимизации папки с изображениями;

  • удаления фона;

  • повышения резкости;

  • цветокоррекции фотографии;

  • конвертации между множеством форматов;

  • редактирования EXIF у фотографий;

  • работы с JPEG как основным форматом.

TweakPNG стоит открывать тогда, когда вопрос звучит иначе: какие chunks есть в этом PNG, почему файл ведет себя необычно, что находится в tEXt, как добавить iTXt, как изменить pHYs, как проверить CRC, как импортировать ICC-профиль, как подготовить тестовый PNG.

Таблица характеристик

Параметр Значение
Название TweakPNG
Расширенное название TweakPNG — редактор PNG-чанков и метаданных для Windows
Разработчик Jason Summers
Тип программы низкоуровневый редактор структуры PNG
Основная задача просмотр, проверка и изменение PNG chunks
Интерфейс классическое Windows-окно с таблицей chunks
Главные колонки Chunk, Length, CRC, Attributes, Contents
Основные меню File, Edit, Insert, Options, Tools, Help
Поддерживаемые форматы PNG, частично MNG/JNG
Версия 1.4.6 / файл версии 1.4.6.2
Лицензия GPL-3.0
Платформа Windows
Установка распаковка архива
Исполняемые файлы x86tweakpng.exe, x64tweakpng.exe
Встроенный просмотрщик есть
Пакетная обработка нет
Обычное редактирование изображения нет
Работа с IDAT объединение и разделение
Работа с ICC импорт ICC-профиля в iCCP
Интеграция с Explorer через настройку Add TweakPNG to Explorer context menu

Итоговая оценка

TweakPNG — точный и полезный инструмент для тех, кому нужно работать с PNG-файлом на уровне структуры. Его сильная сторона не в красивом интерфейсе и не в автоматической обработке, а в прямом доступе к chunks. Программа показывает IHDR, IDAT, IEND, PLTE, tRNS, pHYs, gAMA, cHRM, sRGB, tEXt, zTXt, iTXt и другие blocks так, чтобы пользователь мог понять, что именно находится внутри файла.

TweakPNG стоит держать под рукой разработчикам, специалистам по тестированию, людям, работающим с цифровой криминалистикой, CTF-задачами, метаданными PNG и нестандартными файлами. Он удобен для удаления лишних chunks, добавления текстовых метаданных, проверки структуры, настройки прозрачности палитры, импорта ICC-профиля и создания тестовых изображений.

Главное ограничение программы — требовательность к пониманию формата. TweakPNG не защищает от всех ошибок и не превращает низкоуровневое редактирование в бытовую операцию. Если пользователь меняет IHDR, переставляет chunks или экспериментирует с IDAT, он должен сохранять копии и проверять результат через Check Validity.

В своей нише TweakPNG остается удачной программой: маленькой, прямолинейной, технически полезной и до сих пор актуальной для задач, где обычный просмотрщик PNG показывает только картинку, а нужно увидеть саму внутреннюю структуру файла.


Ваш адрес email не будет опубликован. Обязательные поля помечены *