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

5 Ansichten (letzte 30 Tage)
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 Kommentar
N/A
N/A am 9 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sai Sri Pathuri
Sai Sri Pathuri am 15 Jul. 2020
Bearbeitet: Sai Sri Pathuri am 16 Jul. 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 Kommentar
Mango Feng
Mango Feng am 19 Jul. 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');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by