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

6 ビュー (過去 30 日間)
Mango Feng
Mango Feng 2020 年 7 月 7 日
コメント済み: Mango Feng 2020 年 7 月 19 日
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 件のコメント
N/A
N/A 2020 年 7 月 9 日
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.

サインインしてコメントする。

採用された回答

Sai Sri Pathuri
Sai Sri Pathuri 2020 年 7 月 15 日
編集済み: Sai Sri Pathuri 2020 年 7 月 16 日
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 件のコメント
Mango Feng
Mango Feng 2020 年 7 月 19 日
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');

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpecifying Target for Graphics Output についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by