代码之家  ›  专栏  ›  技术社区  ›  Leo Alekseyev

Windows和PNG文件下的Emacs

  •  29
  • Leo Alekseyev  · 技术社区  · 14 年前

    是否有人有任何关于让PNG图像在Win32下的Emacs23中显示的指针?…我已经安装了gnuwin32实用程序集,包括libpng和zlib;c:\program files\gnuwin32\bin在路径中。JPG文件开始工作,但不是PNG。我很感激你给我任何让这个工作的建议。

    编辑:PNG缩略图实际上显示得很好(例如,通过C-T C-T在dired中)。但是,打开它们失败(在基本模式下以垃圾方式打开,M-X图像模式表示“无效图像规范”)。

    4 回复  |  直到 7 年前
        1
  •  20
  •   Oleg Pavliv    14 年前

    您必须将这些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列表。

        2
  •  5
  •   Bozhidar Batsov    14 年前

    根据官方手册:

    3.3如何获得图像支持?

    Emacs内置了对XBM和PBM/PGM/PPM图像的支持。这足以看到单色启动屏幕和工具栏图标。自22.2以来,官方预编译的Windows二进制文件已经绑定了libxpm,需要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);

        3
  •  3
  •   FlyingFoX Stephen Cleary    7 年前

    从Emacs 25开始 Emacs Windows download directory 包括 -deps 压缩包,可以提取到Emacs安装文件夹中,并包含用于PNG、SVG、JPEG、GIF、TIFF等的图像库。

    也见此 emacs.stackexchange answer .

        4
  •  1
  •   David    7 年前

    要显示Emacs for Windows版本所需的png dll版本,可以计算 (cdr (assq 'png dynamic-library-alist))