Windows和PNG文件下的Emacs

Windows和PNG文件下的Emacs,windows,emacs,Windows,Emacs,有没有人对在Win32下让PNG图像在Emacs 23中显示有什么建议?。。我已经安装了gnuwin32套实用程序,包括libpng和zlib;C:\Program Files\GnuWin32\bin位于路径中。JPG文件开始工作,但没有PNG。如果能给我一些提示,让这一切顺利进行,我将不胜感激 编辑:PNG缩略图实际上显示良好(例如,通过C-t C-t直接显示)。但是,打开它们失败(在基本模式下打开为垃圾,M-x图像模式显示“无效图像规范”)。根据官方手册: 3.3如何获得图像支持 Emac

有没有人对在Win32下让PNG图像在Emacs 23中显示有什么建议?。。我已经安装了gnuwin32套实用程序,包括libpng和zlib;C:\Program Files\GnuWin32\bin位于路径中。JPG文件开始工作,但没有PNG。如果能给我一些提示,让这一切顺利进行,我将不胜感激


编辑:PNG缩略图实际上显示良好(例如,通过C-t C-t直接显示)。但是,打开它们失败(在基本模式下打开为垃圾,M-x图像模式显示“无效图像规范”)。

根据官方手册:

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)

必须将其中一个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<代码>图像库列表将图像类型映射到支持它的dll列表。

要显示Emacs for Windows版本所需的PNG dll版本,您可以评估
(cdr(assq'PNG动态库列表))
从Emacs 25开始,包括
-deps
zip包,可以将其提取到emacs安装文件夹中,包括PNG、SVG、JPEG、GIF、TIFF等图像库


另请参见。

将libpng和zlib dll复制到C:\Emacs\Emacs-23.1\bin中成功了!(路径中有jpeg62.dll对于JPEG来说已经足够了。)可以从位于的GnuWin32页面下载libPng和Zlib。请注意,该页面只有libpng13 while(查看底部的run-rime)。如果您在windows上使用inkscape,只需从inkscape复制正确的dll即可。