質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Inkscape

Inkscape(インクスケープ)はオリジナル画像やオリジナルロゴの作成、写真の加工が出来るソフトです

Q&A

解決済

1回答

3015閲覧

Python3を使用して.jpgファイルを.emfファイルに変換する方法。

Danrussia

総合スコア44

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Inkscape

Inkscape(インクスケープ)はオリジナル画像やオリジナルロゴの作成、写真の加工が出来るソフトです

0グッド

0クリップ

投稿2020/01/21 07:06

前提・実現したいこと

Python3を使用してmatplotlibで図を作成した後にemfファイルとして出力・保存を行いたいと思っています。

実際に調べてみた所、matplotlib自体はemfファイル形式としての出力に対応していなかったため、外部ソフトのInkscapeを介して.jpg(svg)から.emfに変換を行うのが基本的な流れでした。
(参考にしたサイト: https://qiita.com/gitytm15/items/418ddcd8f58555d7433b
http://yshampei.hatenablog.com/entry/2017/11/18/163504)

それにあたり、上記のサイトに書かれてあったコードを動かしてみたのですが、emfファイルへの変換が上手くいきません。

該当のソースコード

Python3

1import subprocess 2from matplotlib import pyplot as plt 3 4fig, ax = plt.subplots() 5ax.plot([1,2,3]) 6 7plt.savefig("CHINPO.svg") 8subprocess.call('inkscape CHINPO.svg -M CHINPO.emf',shell=True) 9plt.show()

解決したい事

このコードは、windows10(Jupyter Notebook)内で実行しました。先に挙げたサイトではUbuntu(Linux)の環境で実行していたので、Windows10では恐らく使用不可なのではないかと考えています。

実際にこの環境にもUbuntu自体は導入しているのですが、手間の面を考えてできるだけどWindows内の
Jupyter(.pyファイル)の中で完結したいです。

Inkscapeを使用する方法に限らず、jpgからemfに変換する方法があれば教えて頂きたいです。

補足情報(FW/ツールのバージョンなど)

Windows10
Anaconda
Python3
Jupyter Notebook
Inkscape

直接的な解決案の回答でなくとも、参考になりそうなサイト、類似の事例を教えて頂けると幸いです。
お忙しいとは思いますが、よろしくお願いいたします。
情報に不足がありましたら、ご指摘お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

単にinkscape.exeにパスが通っていないのが原因だと思われます。
パスを通すかsubprocess.call('"c:/program files/inkscape/inkscape.exe" ~.svg -M ~.emf',shell=True)とフルパスで呼び出すとよいです。

投稿2020/01/21 07:42

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Danrussia

2020/01/22 03:52

回答が遅くなってしまい申し訳ありません。フルパスを通す事でemfに変換する事ができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問