How to make a colourful interactive GUI spectrum slider?

1 ビュー (過去 30 日間)
Hannah 2021 年 9 月 14 日
回答済み: Mohammad Sami 2021 年 9 月 15 日
Hello, I want to make a colorful spectrum where the user can use a slider to control the input value. Input values go from 20 to 1112.5 with a resolution of 0.1. every input value corresponds to an output value which I have stored. I know how to make the user type their input value and return the corresponding output but I just have no idea how to make the GUI spectrum slider. Every input corresponds to a percentage (i.e. the output is a percentage) and I want the shading of the spectrum to be greener as it gets closer to 100% and more red as it gets closer to 0%.
Can someone help me please? :)
  4 件のコメント
Hannah 2021 年 9 月 14 日
i see, thanks


回答 (1 件)

Mohammad Sami
Mohammad Sami 2021 年 9 月 15 日
While there is no slider object which have the spectrum as the background, you can however achieve this effect by layering uislider on top of an uiimage with spectrum. I used a gridlayout, but you can also set the position property. However in case of resize you will then have to set the position again. Therefore using a gridlayout would be preferable.
a = uifigure;
g = uigridlayout(a,[5 5]);
b = uiimage(g,'ImageSource','spectrum.png','ScaleMethod','fill');
b.Layout.Row = 2;
b.Layout.Column = 2;
c = uislider(g);
c.Layout.Row = 2;
c.Layout.Column = 2;


Community Treasure Hunt

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

Start Hunting!

Translated by