Wrong pixel color when save figure as pdf using a different background color

3 visualizaciones (últimos 30 días)
When I function imshow to display an image and change the default color, everything is okay. However, when I save the figure to pdf format, the color of white pixel is not correct.
set(groot, 'DefaultFigureColor', 'blue');
set(groot, 'DefaultFigureInvertHardcopy', 'off');
p = phantom();
figure(1)
imshow(p)
saveas(gcf, 'phantom.pdf');
This is the result of Figure 1.
This is the result in file 'phantom.pdf'.
  1 comentario
N/A
N/A el 9 de Jul. de 2020
I don't know if this helps you, but try export_fig . it served me well so far when I wanted to export things to pdf.

Iniciar sesión para comentar.

Respuesta aceptada

Sai Sri Pathuri
Sai Sri Pathuri el 15 de Jul. de 2020
Editada: Sai Sri Pathuri el 16 de Jul. de 2020
The cause is that renderer we use to print is switched to painters. You may use -opengl flag with print command
print(gcf, 'phantom', '-dpdf', '-opengl')
  1 comentario
Mango Feng
Mango Feng el 19 de Jul. de 2020
Thanks for your answer! I found that an alternative method is changing the figure property 'Renderer' to 'opengl'.
set(groot, 'DefaultFigureColor', 'blue');
set(groot, 'DefaultFigureInvertHardcopy', 'off');
p = phantom();
figure('Renderer', 'opengl')
imshow(p)
saveas(gcf, 'phantom.pdf');

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Printing and Saving en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by