конвертировать WMF в JPG с GraphicsMagick производит черное изображение - PullRequest
0 голосов
/ 07 мая 2018

У меня есть файл wmf (извлеченный эскиз из файла Excel), который я хочу преобразовать в jpg с помощью следующей команды graphicsmagick:

gm.exe convert 123.wmf 123.jpg

Результат - черный квадрат.(то же самое происходит, если я пытаюсь открыть файл с помощью Gimp).Я могу открыть файл wmf в Windows paint (плюс другой просмотрщик), и он показывает нормально.

Вот файл wmf: https://mycloud.m -box.at / index.php / s / qNW2RvwRNNfkc3J

Я использую последнюю версию GM (1.3.29)

1 Ответ

0 голосов
/ 08 мая 2018

Сначала проверьте, установлена ​​ли у вас поддержка формата WMF:

gm identify -version
GraphicsMagick 1.3.28 2018-01-20 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2018 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Native Thread Safe       yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  yes
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     no
  JPEG-2000                yes
  JPEG                     yes
  Little CMS               no
  Loadable Modules         yes
  OpenMP                   no
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WebP                     no
  WMF                      yes    <--- HERE IT IS
  X11                      no
  XML                      yes
  ZLIB                     yes

Host type: x86_64-apple-darwin17.5.0

Configured using the command:
  ./configure  '--prefix=/usr/local/Cellar/graphicsmagick/1.3.28_1' '--disable-dependency-tracking' '--enable-shared' '--disable-static' '--with-modules' '--without-lzma' '--disable-openmp' '--with-quantum-depth=16' '--without-gslib' '--with-gs-font-dir=/usr/local/share/ghostscript/fonts' '--with-webp=no' '--without-x' '--without-lcms2' 'CC=clang' 'CXX=clang++'

Final Build Parameters:
  CC       = clang
  CFLAGS   = -g -O2 -Wall -D_THREAD_SAFE
  CPPFLAGS = -I/usr/local/opt/freetype/include/freetype2 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2
  CXX      = clang++
  CXXFLAGS = -D_THREAD_SAFE
  LDFLAGS  = -L/usr/local/opt/freetype/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
  LIBS     = -lfreetype -lbz2 -lz -lltdl -lm -lpthread

Тогда, если вы не видите WMF=yes, вам потребуется перенастроить и перестроить GraphicsMagick . Итак, ищите строку, которая показывает вам, как настроена текущая сборка, в моем примере это:

Configured using the command:

  ./configure  '--prefix=/usr/local/Cellar/graphicsmagick/1.3.28_1' '--disable-dependency-tracking' '--enable-shared' '--disable-static' '--with-modules' '--without-lzma' '--disable-openmp' '--with-quantum-depth=16' '--without-gslib' ...

и удалите

'--without-wmf'

и переустановите обычным способом:

./configure ...
make -j4
sudo make install

Тогда вы можете сделать:

gm convert -density 288 123.wmf result.jpg

enter image description here


Если вы на macOS, это просто:

brew reinstall graphicsmagick --with-libwmf
...