2013-04-21 13 views
10

ich ein Grundstück haben und mir den Hintergrund transparent Einstellung von:Matlab: Speicher Abbildung mit transparentem Hintergrund

set(gcf, 'Color', 'None'); 
set(gca, 'Color', 'None'); 

Wenn ich versuche, das Bild zu speichern (vom Betrachter), I als .png speichern, aber es speichert mit einem weißen Hintergrund. Wie kann ich es mit dem transparenten Hintergrund speichern?

Dank

Antwort

9

Es ist enttäuschend, aber, MATLAB-Standard saveas und print Befehle nicht mit transparenten Dingen sehr gut umgehen können. Sie müssen es mit etwas Hintergrund speichern und dann entweder durch imread/imwrite oder ein anderes Werkzeug konvertieren.

Es gibt einige Tools, die nützlich sein könnten:

Ich ziehe Vektorgrafiken Abb, so svg Exporte verwenden, wenn Transparenz erforderlich ist. Wenn Sie tatsächlich eine Bitmap haben, verwenden Sie imwrite(bitmapData, 'a.png', 'png', 'transparency', backgroundColor).

+2

Ich akzeptiere dies, aber nur als eine Nebenbemerkung im Viewer ging ich zu Bearbeiten-> Abbildung kopieren und in Powerpoint eingefügt und es schien Transparenz – Aly

+0

+1 für Plot2svg erhalten. – bas

+0

@Aly Ich vermute, das ist, weil es durch 'emf' Format kopiert wird. Vielleicht spart das Speichern als EMF die Transparenz. (Ich habe mich selbst nicht getestet) – Memming

1

Die Dinge haben sich seit der Veröffentlichung MATLAB 2014b geändert. Das neu implementierte Grafiksystem (so genanntes HG2, für Handle Graphics Version 2) ist in Sachen Transparenz deutlich besser.

Jetzt spart es zumindest Transparenz in SVG!

+0

Was ist mit PNG? – Royi

1

Also wollte ich immer noch etwas einfaches, dass ich nichts anderes installieren musste (Firmen-PC nicht erlaubt: /). Ich stolperte über this link, die besagt:

Alles, was Sie tun müssen, ist die folgende

1) in Matlab-Datei die Befehle fügen Sie Ihre Figur mit transparentem Hintergrund zu forma

set(gcf, 'color', 'none'); 
set(gca, 'color', 'none'); 

und Speichern oder exportieren Sie die im eps-Format generierte Zahl. (Sagen wir Bspline.eps)

2) öffnen Bspline.eps in NotePad

3) in der ersten Zeile suchen. Zum Beispiel %!PS-Adobe-3.0 EPSF-3.0. Die letzte Zahl 3.0 zeigt die Postscript-Ebene an. Suchen Sie für Stufe 3 die Zeichenfolge rf. Sie finden in einer Zeile wie folgt (vier Zahlen gefolgt von rf)

0 0 3025 2593 rf% Kommentieren Sie diese Zeile mit%.

(für für String-Ebene 2 Suche pr statt rf)

Speichern Sie die Datei.

Jetzt können Sie die EPS-Datei verwenden, oder Sie können es in PDF konvertieren und dann verwenden. Auf jeden Fall wird es transparent Hintergrund

Extra-

Für mich hat es zwei Linien mit re und zwei Linien, trotz ich %!PS-Adobe-3.0 EPSF-3.0 kurz nach ihnen habe. Aber das Ergebnis war die Figure war jetzt transparent.

Verwandte Themen