Saltar al contenido

Cómo guardar figura con fondo transparente

Solución:

Es decepcionante pero, el valor predeterminado de MATLAB saveas y print Los comandos no pueden tratar muy bien con cosas transparentes. Tendrá que guardarlo con algunos antecedentes y luego convertirlo a través de imread/imwrite o alguna otra herramienta.

Hay algunas herramientas que pueden resultar útiles:

  • Exportar fig http://www.mathworks.com/matlabcentral/fileexchange/23629
  • exportación de svg http://www.mathworks.com/matlabcentral/fileexchange/7401-scalable-vector-graphics-svg-export-of-figures

Prefiero los gráficos vectoriales, así que use exportaciones svg cuando se necesite transparencia. Si de hecho tiene un mapa de bits, use imwrite(bitmapData, 'a.png', 'png', 'transparency', backgroundColor).

Las cosas han cambiado desde el lanzamiento de MATLAB 2014b. El sistema de gráficos recientemente implementado (llamado HG2, para Handle Graphics versión 2) funciona mucho mejor en términos de transparencia.

¡Ahora guarda la transparencia correctamente en SVG al menos!

Así que todavía quería algo simple que no me obligara a instalar nada más (PC corporativa no permitida: /). Me topé con este enlace, diciendo:

Todo lo que tienes que hacer es lo siguiente

1) En el archivo matlab, agregue los comandos para formatear su figura con fondo transparente

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

y guardar o exportar la figura generada en formato eps. (diga Bspline.eps)

2) Abra Bspline.eps en el Bloc de notas

3) Mira la primera línea. Por ejemplo %!PS-Adobe-3.0 EPSF-3.0. El último número 3.0 indica el nivel Postscript. Para el nivel 3, busque la cadena rf. Encontrarás en una línea como esta (cuatro números seguidos de rf)

0 0 3025 2593 rf% Comente esa línea usando%.

(Para la búsqueda de nivel 2 de cadena pr en lugar de rf)

Guarda el archivo.

Ahora puede usar el archivo eps o puede convertirlo a pdf y luego usarlo. De todos modos tendrá fondo transparente.

Extra

Para mí fueron dos líneas con re y dos líneas, a pesar de tener %!PS-Adobe-3.0 EPSF-3.0 uno tras otro. Pero el resultado fue el Figure ahora era transparente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *