在Windows下使用Emacs和PNG文件

32

有谁能指导如何在Win32下的Emacs 23中显示PNG图像吗?我已经安装了gnuwin32一套工具,包括libpng和zlib;C:\Program Files\GnuWin32\bin在路径中。JPG文件开始工作,但PNG文件没有。我希望有关如何使其正常工作的任何提示。

编辑:实际上,PNG缩略图显示得很好(例如,在通过C-t C-t进行的dired中)。然而,打开它们失败(在基本模式下打开为垃圾,并且M-x image-mode说“无效的图像规范”)。

4个回答

21

您需要复制这些dll之一"libpng12d.dll" "libpng12.dll" "libpng.dll" "libpng13d.dll" "libpng13.dll"到您的emacs-23.1/bin/目录。它们需要zlib1.dll,您还需要将其复制。我对jpeg62.dll和giflib4.dll做了同样的事情,现在我的emacs支持jpg、gif和png文件。由于某种原因,如果我仅仅将这些dll放在路径中,它就不起作用。

您可以检查(image-type-available-p 'png)来查看是否支持png。 image-library-alist将图像类型映射到支持它的dll列表。


将libpng和zlib dll文件复制到C:\ Emacs \ emacs-23.1 \ bin中成功了!(在路径中有jpeg62.dll对于JPEG来说已经足够了。) - Leo Alekseyev
2
libPng和Zlib可以从http://gnuwin32.sourceforge.net/packages.html下载。 - Justin Bailey
2
请注意,GNU Win32项目仅提供libpng13,而libpng14可从GTK+获取(在底部寻找run-rime)。 - mlt
1
如果您在Windows上使用Inkscape,则可以从Inkscape中简单地复制正确的dll文件。 - R D

6
根据官方手册:
3.3 如何获得图像支持?
Emacs内置了对XBM和PBM/PGM/PPM图像的支持。这足以查看单色闪屏和工具栏图标。从22.2版本开始,Windows的官方预编译二进制文件捆绑了libXpm,这是显示这些图像的彩色版本所必需的。
Emacs被编译以识别JPEG、PNG、GIF和TIFF图像,但显示这些图像类型需要外部DLL,这些DLL未与Emacs捆绑在一起。请参见其他有用的端口。
各种图像格式的DLL(据我所知)为 - XPM(xpm4.dll),PNG(libpng13.dll,zlib1.dll),JPEG(jpeg62.dll),TIFF(libtiff3.dll)和GIF(giflib4.dll)。

5

1
为了显示你的Windows版Emacs需要哪个版本的PNG dll,你可以评估 (cdr (assq 'png dynamic-library-alist))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接