Для целей тестирования я хочу создать файл postscript из файла Tiff. Изображение в режиме CMYK, и я не хочу преобразовывать его в RGB.
Я в Windows и использую Ghostscript для просмотра файла postscript. Я пытался использовать оператор colorimage, чтобы нарисовать цветное изображение из картинки, закодированной в шестнадцатеричном формате.
3508 2480 scale
3508 2480 8 [3508 0 0 -2480 0 2480]
{currentfile 4 3508 mul string readhexstring pop} bind
false 4 colorimage
49492a00080000001200fe00040001000000000000000001030001000000
-- More Hex Data --
Я ожидал, что это скомпилируется с ghostscript, но вернет ошибку, которую я не могу понять.
Error: /undefined in ??3
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
--nostringval-- --nostringval-- false 1 %stopped_push 2045 1 3 %oparray_pop 2044 1 3 %oparray_
pop 2025 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostr
ingval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:973/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
Current allocation mode is local
Current file position is 4
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
РЕДАКТИРОВАТЬ:
Так что мне удалось извлечь необработанные двоичные данные небольшого изображения для проверки, благодаря Photoshop, и я хотел создать изображение с каждым источником данных для каждого цвета, поэтому один источник для голубого, один для пурпурного, ... И я получил этот файл :
/cyan {
zz!!*'!s8W-!s8W-!zz!!*'!s8W-!s8W-!zz!!*'!s8W-!s8W-!zz!!*'!s8W-!s8W-!
-- More Data --
} /ASCII85Decode filter def
/magenta {
s8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!
-- More Data --
} /ASCII85Decode filter def
/yellow {
s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!
--More Data--
} /ASCII85Decode filter def
/black{
s8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!zzs8W-!s8W-!s8N'!
--More Data--
} /ASCII85Decode filter def
/DeviceCMYK setcolorspace
20 20 8 [20 0 0 20 0 0]
cyan
magenta
yellow
black
true 4 colorimage
Если вы хотите проверить полный код: https://pastebin.com/6MFtw0M0
Но Ghostscript продолжает возвращать мне загадочную ошибку:
Error: /undefined in --colorimage--
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- colorimage --nostringval-- 2 %stopped_push --nostringval-- col
orimage colorimage false 1 %stopped_push 2045 1 3 %oparray_pop 2044 1 3 %oparray_pop 2025 1
3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- colo
rimage --nostringval-- 2 %stopped_push --nostringval-- 1913 10 3 %oparray_pop
Dictionary stack:
--dict:973/1684(ro)(G)-- --dict:0/20(G)-- --dict:82/200(L)--
Current allocation mode is local
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
РЕДАКТИРОВАТЬ2:
Таким образом, данные моего файла были неверны, я попытался с другим файлом, и он работал!