White text on a black background with text()

252 vues (au cours des 30 derniers jours)
Devin
Devin le 16 Fév 2012
I'm having a strange problem: I'm trying to make a figure and save it as a PNG. The figure has annotations which I create with the text() function, like this:
textColor = 'white';
textBackground = 'black';
text(x, y, ...
'my annotation', ...
'Color', textColor, ...
'BackgroundColor', textBackground, ...
'HorizontalAlignment', 'Center');
When I use
textColor = 'white';
There is white text over a black background in my MATLAB figure, but NOT in the PNG. In the PNG there is only a black box with no text. The strange part is that if I change
textColor = 'red';
I get red text on a black background (expected) on both the figure and the PNG.
Does anyone have any idea why this is happening?
  2 commentaires
Jan
Jan le 16 Fév 2012
How do you save the PNG?
Devin
Devin le 16 Fév 2012
saveas(maphandle, ['/path/frames/frame-' imnum '.png'], 'png');

Connectez-vous pour commenter.

Réponses (2)

Josh Porter
Josh Porter le 31 Oct 2014
I had a similar problem involving black text. If I left the text black, it would export to an EPS file as white, which meant that it couldn't be seen on a white background. (When I opened the EPS file in Illustrator, I could see that the text was actually there, just colored white.)
My solution was to set the text color to almost-almost-black:
[eps, 0, 0]
Visually, this is indistinguishable from black, but to Matlab, it is not black. This fixed the problem.
If your white is not staying white when exported, try using almost-almost white:
[1-eps, 1, 1]
It's hackish, but it works.
  1 commentaire
Jonathan Whiting
Jonathan Whiting le 17 Mar 2016
Very nice! This worked great!

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 16 Fév 2012
"How do I save a figure?" has got to be the most frequently asked question of any time period you want to look at. Have you tried the FAQ? http://matlab.wikia.com/wiki/FAQ#How_do_I_save_my_figure.2C_axes.2C_or_image.3F_I.27m_having_trouble_with_the_built_in_MATLAB_functions.

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by