gz圧縮画像ファイルの埋め込み

gz圧縮画像ファイルの埋め込み

- miru の投稿
返信数: 4

イメージスキャナでビットマップファイルとして読み込んだ図(ここではFig1.bmp)を.gzファイルに圧縮して保存後、次のようなソースファイルを作り、

\documentclass[a4paper]{jsarticle}
\usepackage[dviout]{graphicx}
\begin{document}
\begin{figure}
\begin{center}
\includegraphics[bb=0 0 388 285]{Fig1.bmp.gz}
\end{center}%
\end{figure}%
次の頁を表示してください。
\newpage
前のページに戻ってください。
\end{document}

これをコンパイルしてdvioutにて表示すると最初はうまく図が表示されるのですが、別のページを表示させた後、再びこのページを表示させると、

Cannot find plug-in for C:\DOCUME~1\TN\LOCALS~1\Temp\dviout0\Fig1.bmp

のWarningメッセージが出て、図だけが表示されなくなります。dviout上でこの状態から、例えば[paper]->[a4](もともとa4ですが)のように設定すると消えていた図が現れます。しかし、頁移動して戻るとまた消えてしまいます。c:\...\Temp\dviout0 フォルダには確かにFig1.bmpファイルが存在しています(Windows上で表示できる正常なbmpファイルでした)。

印刷(dviprt)の際も同じWarningメッセージが出ます。しかし、図の部分の印刷が成功する場合としない場合(図だけ消えている)があり、その再現性が今一つはっきりしません。

圧縮ファイルを使わずにbmpファイルをそのまま使い、6行目を、
\includegraphics[bb=0 0 388 285]{Fig1.bmp}
とすると何もかも正常に動作します。すなわち、頁移動後もWarningメッセージはなく、再表示も成功します。

OSはWindows XPで、dvioutのバージョンは3.18.1、LaTeXのバージョンは、
This is pTeXk, Version 3.141592-p3.1.10 (sjis) (Web2C 7.5.6)
と表示されます。また、WinShell3.1.0.10を使用しています。図は横137mm×縦100mmの白黒図で、イメージスキャナにて600dpiで取り込んだものです(Fig1.bmpは946KB、Fig1.bmp.gzは24KBです)。図の大きさやdpiはこの現象とは関係ないようです。
dvioutのパラメータは、-GIFはBMP(full color)に設定されており、bitmap bufferは31744 K byteになっています。

困っています。解決策があれば、是非ご教示ください。

miru への返信

Re: gz圧縮画像ファイルの埋め込み

- 若 雲 の投稿
BMPをgzip圧縮するのではなく、同様に圧縮技術を用いているJPEGやPNGに変換して利用するといかがでしょうか。

手元でFig1.bmp.gzを伸長し、ImageMagick(-quality 100)でPNGに変換したものを添付します。
添付 Fig1.png
若 雲 への返信

Re: gz圧縮画像ファイルの埋め込み

- miru の投稿

若雲さん

早速のご返信ありがとうございます。 ところで、ImageMagickというのはソフト名だと思いますが、どうしたら手に入るのでしょうか? また、ご返信の内容から推察すると、やはりgzip圧縮ではうまくいかないということなのでしょうか?

miru への返信

Re: gz圧縮画像ファイルの埋め込み

- 匿 名 の投稿
> 困っています。解決策があれば、是非ご教示ください。
困っているなら、bmp.gzをやめて現実的な解決策を採るべきだと思います。困っていないなら、gzをめぐる現象の切り分けなど試行錯誤を繰り返し原因を追及して、dvioutの開発に協力すればよいでしょう。

ImageMagickでもGIMPでも何でも良いので、一般的で可逆圧縮ができる画像形式に変換されることを勧めます。bmpは一般的な画像形式とはいえません。私ならpng形式を使います。png形式の主な圧縮形式はzlib形式(gzip圧縮)なので、bmpをpngに変換するということは、bmpをbmp.gzに変換することと、ファイルサイズという点で同じ意味合いなります。