Transparent background+setting alpha data
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi: I have matrix
x=[1 2 3; 0 2 3;0 0 3];
I want to create a png file where the 0s are transparent and the rest of values are half transparent...I tried the following:
x(x<=0)=NaN;
h=imagesc(x);
axis image
set(h,'alphadata',~isnan(x))
set(gca,'color','none');
set(gca, 'visible', 'off') ;
export_fig asda.png -transparent
(search expor_fig on this site you will find it,saveas acts weird sometimes so I prefer this one).
Problem is how do I make the rest of the ~isnan values half transparent?
if I use alpha(.5) the NaN will get back their colors (cancels the 'alphadata' command)
Thanks,
0 Kommentare
Akzeptierte Antwort
Jan
am 30 Sep. 2012
Bearbeitet: Jan
am 30 Sep. 2012
x = [1 2 3; 0 2 3;0 0 3];
x = x / max(x(:)); % Scale to [0,1]
A = repmat(0.5, size(x));
A(x == 0) = 1; % 100% transparent
imwrite(x, 'asda.png', 'Alpha', A);
I do not find in the documentation, if 100% transparency is 1 or 0. So please test thiy.
2 Kommentare
Weitere Antworten (1)
Image Analyst
am 30 Sep. 2012
Have you seen the official Mathworks documentation: http://www.mathworks.com/help/matlab/ref/imwrite.html#f25-742371
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!