Bunun için kod yazmaya gerek kalmadan ya da System.Drawing.Color
benzeri bir değerden bir değer oluşturmak istiyorum . Bunun için herhangi bir .NET yerleşik ayrıştırıcısı var mı?#FF00FF
FF00FF
Bunun için kod yazmaya gerek kalmadan ya da System.Drawing.Color
benzeri bir değerden bir değer oluşturmak istiyorum . Bunun için herhangi bir .NET yerleşik ayrıştırıcısı var mı?#FF00FF
FF00FF
Yanıtlar:
ColorTranslator.FromHtml("#FF00FF");
Convert-Class'ı kullandığınızda oldukça kolaydır . ToInt32
Fonksiyon dizisi olan taban temsil eden bir ikinci parametrenin bir aşırı vardır.
using System.Drawing
Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
ColorConverter sınıfını kullanın :
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );
Bu aynı zamanda standart adlandırılmış renklerden de dönüştürülebilir, örneğin ConvertFromString ("Mavi")
Standart .NET türü dönüştürme mekanizmalarıyla ilgili bir tartışma için buraya bakın .
Kullanmak istediğiniz renk sabit ise, C # kullanımında System.Drawing.Color.FromArgb (0xFF00FF)
. Bir dizeden tamsayıya ayrıştırma çalışma zamanında değil derleme zamanında yapıldığından, System.Drawing.Color.FromName
veya değerinden biraz daha hızlıdır System.Drawing.Color.FromHtml
.