Windows和PNG文件下的Emacs

问题描述 投票:29回答:4

任何人都有任何关于获取PNG图像以在Win32下的Emacs 23中显示的指示吗?..我已经安装了gnuwin32实用程序集,包括libpng和zlib; C:\ Program Files \ GnuWin32 \ bin在路径中。 JPG文件开始工作但不是PNG。我很欣赏任何关于让它发挥作用的暗示。

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

windows emacs
4个回答
20
投票

您必须将其中一个“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列表。


5
投票

根据官方手册:

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);


4
投票

从Emacs 25开始,Emacs Windows download directory包含-deps zip包,可以解压缩到您的emacs安装文件夹,包括PNG,SVG,JPEG,GIF,TIFF等图像库。

另见emacs.stackexchange answer


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.