Matlab にプロットがあり、次の方法で背景を透明に設定しています。
set(gcf, 'Color', 'None');
set(gca, 'Color', 'None');
画像を(ビューアーから)保存しようとすると、「.png」として保存されますが、白い背景で保存されます。背景を透明にして保存する方法を教えてください。
Matlab にプロットがあり、次の方法で背景を透明に設定しています。
set(gcf, 'Color', 'None');
set(gca, 'Color', 'None');
画像を(ビューアーから)保存しようとすると、「.png」として保存されますが、白い背景で保存されます。背景を透明にして保存する方法を教えてください。
残念ですが、MATLAB のデフォルトsaveas
とprint
コマンドは透過的なものをうまく処理できません。バックグラウンドで保存してから、imread
/imwrite
または他のツールを使用して変換する必要があります。
役立つツールがいくつかあります。
私はベクター グラフィックスを好むので、透過性が必要な場合は svg エクスポートを使用します。実際にビットマップがある場合は、を使用してimwrite(bitmapData, 'a.png', 'png', 'transparency', backgroundColor)
ください。
MATLAB 2014b リリース以降、状況が変わりました。新しく実装されたグラフィック システム (Handle Graphics バージョン 2 の HG2 と呼ばれる) は、透過性の点ではるかに優れています。
透明度を少なくとも SVG に正しく保存するようになりました。
そのため、他に何もインストールする必要のないシンプルなものが必要でした(企業のPCは許可されていません:/)。私はこのリンクに出くわし、次のように述べています。
あなたがしなければならないのは次のことだけです
1)matlabファイルに、図を透明な背景でフォーマットするコマンドを追加します
set(gcf, 'color', 'none');
set(gca, 'color', 'none');
生成された図を eps 形式で保存またはエクスポートします。(Bspline.eps と言います)
2) メモ帳で Bspline.eps を開きます
3) 最初の行を見てください。たとえば%!PS-Adobe-3.0 EPSF-3.0
。最後の数字 3.0 は Postscript レベルを示します。レベル 3 については、文字列を検索しますrf
。このように 1 行で見つかります (4 つの数字の後にrf
)
0 0 3025 2593 rf %% を使用してその行にコメントを付けます。
pr
(レベル 2 の場合は、代わりに文字列を検索しますrf
)
ファイルを保存します。
これで、eps ファイルを使用するか、pdf に変換してから使用することができます。とにかく、背景が透明になります
追加
私にとっては、2 つの行re
と 2 つの行%!PS-Adobe-3.0 EPSF-3.0
でした。しかし、結果はFigure
透明になりました。