get alpha (color) value of a line

6 次查看(过去 30 天)
i need to copy a line to another plot, the copied line have alpha color value (Transperency / grey visibility) :
when drawing the line I use :
>> plot(...,'Color',[Color_Vect , Alpha],'LineWidth',10)
Color_Vect : vector of the colors i.e. [ 1 0 0] . Alpha =0.2.
in another section, when i need to copy the line to another plot I want to extract the alpha value of the line to add it to the new line.
I've been searching in all the values of the Line handles but couldnt find any aplha value.
do anyone knows were is this value stored ??
Thank you

采纳的回答

Rik
Rik 2022-9-27
编辑:Rik 2022-9-27
I have no clue why this is hidden, but converting the object to a struct and hunting for a few appropriate candidates I found that h.Edge.ColorData was a 4x1 uint8.
h=plot(rand(1,10),1:10,'Color',[1 0 0 0.2],'LineWidth',10);
warning('off','MATLAB:structOnObject')
h_=struct(h);h_.Edge.ColorData ,close
Warning: The LineSmoothing property will be removed in a future release.
Warning: The EraseMode property is no longer supported and will error in a future release.
ans = 4×1
255 0 0 51
Note that this is undocumented, and may be specific to a release and/or OS. This works on my Windows copy, as well as online, but it might only work for R2022b, you'll have to test this on R2019a yourself. Just look for anything that might fit after converting the object to a struct.
  2 个评论
Ali Hilo
Ali Hilo 2022-9-27
thank you Rik, it's working now and i can extract this value
Rik
Rik 2022-9-27
You're welcome.
I did a quick test, and it appears this works on R2020b and later (at least on Windows).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by