我有许多用于显示器校准的 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
,我发现导入的文件中没有任何变化,因此新标题必须存储在我的系统本地的某个位置。
我希望能够与其他机器共享这些文件,所以我想更改存储在文件本身中的标题。
有没有什么办法可以使用 Ubuntu 中的软件更改存储在 ICC 文件中的标题?
答案1
好的,最后我在 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"
答案2
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 配置文件检查器 包含修改配置文件中许多标签条目的功能。它只能在 Windows 或 Linux/Wine 上运行。
也许对于仅编辑 desc-tags 来说,在 linux/wine 下或离散窗口下运行工具可能是一种可接受的解决方案。
如果你想在独立 Linux 下运行,你应该使用伊卡班德。只需将 icc 文件转换为 xml 文件,编辑所需的标签,然后将 xml 文件转换回二进制 icc 文件。