Как я могу переименовать цветовой профиль и изменить заголовок, сохраненный в файле ICC?

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

Насколько я могу судить, изменить название из приложения "Настройки цвета" невозможно.

Я нашел это с colormgr Я могу установить профиль и изменить заголовок, который отображается в настройках цвета, следующим образом:

colormgr import-profile <icc-filename> | grep "Profile ID"
colormgr get-devices | grep "Device ID"
colormgr device-add-profile <monitor-device-id> <profile-id>
colormgr profile-set-property <profile-id> Title "<new-title>"

Тем не менее, проверка контрольных сумм исходного файла ICC и импортированной копии в ~/.local/share/iccЯ вижу, что ничего не изменилось в импортированном файле, поэтому новый заголовок должен храниться где-то локально в моей системе.

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

Можно ли как-нибудь изменить заголовок, сохраненный в файле ICC, с помощью программного обеспечения в Ubuntu?

2 ответа

Решение

Хорошо, наконец я сделал это под Ubuntu с IccXML:

открыть терминал

установить предварительные условия:

sudo apt-get install build-essential
sudo apt-get install libxml2-dev
sudo apt-get install libtiff5-dev

сделать рабочий каталог

cd $HOME
mkdir icc
cd icc

получить исходные коды:

wget http://netcologne.dl.sourceforge.net/project/sampleicc/sampleicc%20tar/SampleIcc-1.6.8/SampleICC-1.6.8.tar.gz
wget http://netcologne.dl.sourceforge.net/project/iccxml/IccXML-Src/IccXML-0.9.8/IccXML-0.9.8.tar.gz

распаковать и скомпилировать SampleICC

tar -xzf SampleICC-1.6.8.tar.gz
cd SampleICC-1.6.8/
./configure --prefix=$HOME/icc/
make -j
make install

распаковать и скомпилировать IccXML

tar -xzf ../IccXML-0.9.8.tar.gz
cd IccXML-0.9.8/
PKG_CONFIG_PATH=$HOME/icc/lib/pkgconfig ./configure --prefix=$HOME/icc
make -j
make install

Получить тестовый файл и сделать работу:

cd $HOME/icc/bin
wget http://www.tftcentral.co.uk/icc_profiles/dell_2707wfp.icm
./iccToXml dell_2707wfp.icm dell_2707wfp.xml
gedit dell_2707wfp.xml

Теперь перейдите в конец файла, измените данные описания, как хотите, сохраните файл и закройте gedit.

./iccFromXml dell_2707wfp.xml dell_2707wfp_new.icm

ОК, посмотрите на оригинал:

./iccDumpProfile dell_2707wfp.icm ALL | grep -A 1 textDescriptionType

Output: 
Type:   textDescriptionType
"Dell 2707WFP.icm"

и внешний вид нового:

./iccDumpProfile dell_2707wfp_new.icm ALL | grep -A 1 textDescriptionType

Output: 
Type:   textDescriptionType
"Dell Test 2707WFP.icm"

Icc-файл состоит из тегов. Интересующий тег может быть

tag xxx:
  sig      'desc'
  type     'desc'
  offset   2747620
  size     73
TextDescription:
  ASCII data, length 25 chars:
    0x0000: GRACoL2006_Coated1v2.icc
  No Unicode data
  No ScriptCode data

Существует множество инструментов для создания и редактирования icc-файлов, коммерческих и с открытым исходным кодом.

ICC Profile Inspector включает в себя возможность изменять многие записи тегов в профиле. Он работает только на Windows или Linux/ Wine.

Может быть, для простого редактирования тегов desc может быть приемлемым решением запустить инструмент под linux/wine или под дискретными окнами.

Если вы хотите работать под дискретным Linux, вы должны использовать IccXML. Просто преобразуйте icc-файл в xml-файл, отредактируйте нужные теги и преобразуйте xml-файл обратно в двоичный icc-файл.

Другие вопросы по тегам