হেক্স রঙের মান থেকে সলিডকালার ব্রাশ তৈরি করা


129

আমি # faacc এর মতো হেক্স মান থেকে সলিড কালার ব্রাশ তৈরি করতে চাই। কিভাবে আমি এটি করতে পারব?

এমএসডিএন-তে, আমি পেয়েছি:

SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);

সুতরাং আমি লিখেছি (আমার পদ্ধতিটি রঙটি গ্রহণ করে #ffaacc):

Color.FromRgb(
  Convert.ToInt32(color.Substring(1, 2), 16), 
  Convert.ToInt32(color.Substring(3, 2), 16), 
  Convert.ToInt32(color.Substring(5, 2), 16));

কিন্তু এই হিসাবে ত্রুটি দিয়েছে

The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments

এছাড়াও 3 টি ত্রুটি হিসাবে: Cannot convert int to byte.

তবে এমএসডিএন উদাহরণ কীভাবে কাজ করে?


6
এত নির্বোধ যে তারা ডিফল্ট #FFFFFF ফর্ম্যাটটিকে অনুমতি দেয় না।
মিস্টারফক্স

1
এইগুলির
কোনওটিই

উত্তর:



17

.NET ব্যবহার করে হেক্সাডেসিমাল কালার কোড থেকে কীভাবে রঙ পাবেন?

এটি আমি মনে করি আপনি যা করছেন তার পরে এটি আশা করি এটি আপনার প্রশ্নের উত্তর দিয়েছে।

আপনার কোডটি কাজ করার জন্য কনভার্ট.টোয়েন্টের পরিবর্তে কনভার্ট.টোবাইট ব্যবহার করুন ...

string colour = "#ffaacc";

Color.FromRgb(
Convert.ToByte(colour.Substring(1,2),16),
Convert.ToByte(colour.Substring(3,2),16),
Convert.ToByte(colour.Substring(5,2),16));


9
using System.Windows.Media;

byte R = Convert.ToByte(color.Substring(1, 2), 16);
byte G = Convert.ToByte(color.Substring(3, 2), 16);
byte B = Convert.ToByte(color.Substring(5, 2), 16);
SolidColorBrush scb = new SolidColorBrush(Color.FromRgb(R, G, B));
//applying the brush to the background of the existing Button btn:
btn.Background = scb;

4

আপনি যদি রূপান্তরটির ব্যথাটি প্রতিবার মোকাবেলা করতে না চান তবে কেবল একটি এক্সটেনশন পদ্ধতি তৈরি করুন।

public static class Extensions
{
    public static SolidColorBrush ToBrush(this string HexColorString)
    {
        return (SolidColorBrush)(new BrushConverter().ConvertFrom(HexColorString));
    }    
}

তারপরে এটি ব্যবহার করুন: BackColor = "#FFADD8E6".ToBrush()

বিকল্পভাবে যদি আপনি একই জিনিসটি করার কোনও পদ্ধতি সরবরাহ করতে পারেন।

public SolidColorBrush BrushFromHex(string hexColorString)
{
    return (SolidColorBrush)(new BrushConverter().ConvertFrom(hexColorString));
}

BackColor = BrushFromHex("#FFADD8E6");

0

vb.net সংস্করণ

Me.Background = CType(New BrushConverter().ConvertFrom("#ffaacc"), SolidColorBrush)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.