2013-04-21 56 views
10

ho una trama e sono la creazione lo sfondo a trasparente da:Matlab: Salva figura con sfondo trasparente

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

Quando cerco di salvare l'immagine (da spettatore), risparmio come file .png, ma salva con uno sfondo bianco. Come posso salvarlo con lo sfondo trasparente?

Grazie

risposta

9

E 'deludente, ma, di default saveas e print comandi di MATLAB non possono che fare con le cose trasparenti molto bene. Dovrai salvarlo con un po 'di background e poi convertirlo tramite imread/imwrite o qualche altro strumento.

ci sono alcuni strumenti che potrebbero essere utili:

preferisco grafica vettoriale, in modo da utilizzare le esportazioni svg quando è necessaria la trasparenza. Se in effetti hai una bitmap, usa imwrite(bitmapData, 'a.png', 'png', 'transparency', backgroundColor).

+2

Accetto questo, ma come nota a margine nel visualizzatore sono andato a modificare-> copia la figura e incollato in powerpoint e sembrava preservare la trasparenza – Aly

+0

+1 per plot2svg. – bas

+0

@Aly, suppongo che sia perché è stato copiato nel formato 'emf'. Forse salvare come emf manterrà la trasparenza. (Non ho provato me stesso) – Memming

1

Le cose sono cambiate dal rilascio di MATLAB 2014b. Il sistema grafico di nuova implementazione (così chiamato HG2, per Handle Graphics versione 2) funziona molto meglio in termini di trasparenza.

Ora salva correttamente la trasparenza in SVG almeno!

+0

Che dire di PNG? – Royi

1

Quindi volevo ancora qualcosa di semplice che non richiedesse l'installazione di altro (il pc aziendale non è consentito: /). Mi sono imbattuto su this link, affermando:

Tutto quello che dovete fare è il seguente

1) Nel file di MATLAB aggiungere i comandi per formattare la tua figura con sfondo trasparente

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

e salva o esporta la figura generata in formato eps. (Diciamo Bspline.eps)

2) Bspline.eps aperto nel blocco note

3) Guarda la prima linea. Ad esempio %!PS-Adobe-3.0 EPSF-3.0. L'ultimo numero 3.0 indica il livello Postscript. Per il livello 3, cerca la stringa rf. Troverete in una riga come questa (quattro numeri seguiti da rf)

0 0 3025 2593 rf% Commentare quella linea utilizzando%.

(per il livello 2 di ricerca per la stringa pr invece di rf)

Salvare il file.

Ora è possibile utilizzare il file eps o convertirlo in pdf e quindi utilizzarlo. In ogni caso si dovranno sfondo trasparente

Extra

Per me è stato due linee con re e due linee, nonostante mi ha visto %!PS-Adobe-3.0 EPSF-3.0 appena dopo l'altro. Ma il risultato è stato il Figure era ora trasparente.