FromArgb vs FromScRgb
Czy te dwa wyrażenia powinny dawać kolory mniej więcej takie same?
Color.FromArgb(255, 255, 255, (byte)0.25 * 255))
Color.FromScRgb(1.0f, 1.0f, 1.0f, 0.25f))
Ten program testowy pokazuje, że mają pozornie różne wartości alfa:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
namespace Test_FromArgb_FromScRbg
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var panel = new StackPanel();
Content = panel;
panel.Children.Add(
new Rectangle()
{
Width = 100,
Height = 100,
Fill = new SolidColorBrush(
Color.FromArgb(
255,
255,
255,
(byte)0.25 * 255))
});
panel.Children.Add(
new Rectangle()
{
Width = 100,
Height = 100,
Fill = new SolidColorBrush(
Color.FromScRgb(
1.0f,
1.0f,
1.0f,
0.25f))
});
}
}
}
Oto jak wygląda program demonstracyjny w moim systemie: