2016-09-02 1 views
0

Я создаю файл сценария, а текст и строки работают хорошо. Мне нужно поместить на него jpeg и gif изображения. Как читать в файле jpeg или gif и преобразовывать его в данные пост-скрипта, чтобы изображение отображалось правильно?Как преобразовать файл jpg или gif в PostScript с помощью java

Я нашел это в Интернете, но когда я прочитал в своем jpeg и просто преобразовал файл в шестнадцатеричные байты, он выглядит неправильно.

100 200 translate 
26 34 scale 
26 34 8 [26 0 0 -34 0 34] 
{< 
ffffffffffffffffffffffffffffffffffffffffffffffffffff 
ff000000000000000000000000000000000000ffffffffffffff 
ff00efefefefefefefefefefefefefefefef0000ffffffffffff 
... 
ff00efefefefefefefefefefefefefefefefefefefefefef00ff 
ff000000000000000000000000000000000000000000000000ff 
ffffffffffffffffffffffffffffffffffffffffffffffffffff 
>} 

изображение

Это второе последнюю строка больше, чем символ с последующим фигурными скобками.

Спасибо

+0

http://stackoverflow.com/questions/4968443/simple-way-to-add-an-image-in-postscript –

ответ

0

Пример вы нашли декларирует данные изображения с использованием процедурного источника данных и без сжатия. К счастью для вас, изображение JPEG (в частности, JFIF) можно поместить в программу PostScript, а фильтр DCTDecode применяется для его декодирования.

Для этого вам необходимо использовать источник данных файла, с текущим файлом в качестве ввода, и применить к файлу фильтр DCTDecode. Затем поместите данные изображения после оператора изображения. Обратите внимание: поскольку это файл, а не строковый источник данных, вы помещаете данные изображения в виде двоичных файлов, или вам нужно будет применить несколько фильтров к источнику изображения, например ASCII85Dcode.

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

+0

Спасибо. Мои знания PostScript в основном касаются файлов, созданных инструментом, который у нас есть, и того, что я нашел в сети, поэтому, к сожалению, я не знаком с тем, что фильтр DCTDecode или фильтр ASCII85Dcode. Я достаточно прочитал, чтобы согласиться с тем, что я должен использовать форму словаря. Можете ли вы указать мне пример того, о чем вы говорите? – user3991484

+0

Вам нужно будет изучить PostScript, нет простого способа сделать это, и я не думаю, что программа культового кулинара поможет вам здесь, вам на самом деле нужно это понять. Вы * можете * взглянуть на программу viewjpeg.ps PostScript в дистрибутиве Ghostscript, но вы можете бороться за то, что она делает. – KenS

+0

Хорошо спасибо за вашу помощь и предложения. – user3991484

Смежные вопросы