از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ایجاد رنگ های هگز تصادفی در پایتون
سرفصلهای مطلب
معرفی
فرض کنید در حال ساخت یک ابزار تجسم هستید و باید چند رنگ تولید کنید – چگونه این کار را انجام می دهید؟ یا شاید شما یک رنگ پایه دارید و باید رنگی مشابه تولید کنید. اینها فقط چند مورد استفاده هستند که در آنها باید روش تولید رنگ های هگزادسیمال تصادفی را بیابید.
در این بایت، چند راه برای ایجاد این رنگ ها در پایتون به شما ارائه خواهیم داد.
تولید رنگ های هگز تصادفی
خوشبختانه این کار به لطف داخلی بسیار ساده است random
مدول. هر رنگ در قالب هگزادسیمال با یک ترکیب شش رقمی از اعداد و حروف (از A تا F) نشان داده می شود، که در آن هر جفت رقم به ترتیب نشان دهنده شدت رنگ های قرمز، سبز و آبی است.
در اینجا یک راه ساده برای تولید رنگ های هگزا دسیمال تصادفی وجود دارد:
import random
def generate_random_color():
return '#{:06x}'.format(random.randint(0, 0xFFFFFF))
print(generate_random_color())
وقتی این کد را اجرا می کنید، هر بار یک رنگ تصادفی دریافت خواهید کرد. را {:06x}
مشخصات قالب برای شش رقم هگزا دسیمال، با پیشوند “#” است.
استفاده از random.choice() در نسخه های قدیمی پایتون
اگر از نسخه قدیمی پایتون استفاده می کنید، همچنان می توانید رشته های هگزادسیمال تصادفی را با random.choice()
تابع. در اینجا به این صورت است:
import random
def generate_random_color():
return '#' + ''.join((random.choice('0123456789ABCDEF') for _ in range(6)))
print(generate_random_color())
این کد با شش بار انتخاب یک کاراکتر تصادفی از رشته ‘0123456789ABCDEF’ یک رنگ تصادفی تولید می کند.
رنگهای هگز تصادفی با حروف رشتهای قالببندی شده
پایتون 3.6 راه جدیدی را برای مدیریت قالب بندی رشته ها معرفی کرد – رشته های قالب بندی شده یا f-strings. می توانید از این ها برای تولید رنگ های هگز تصادفی نیز استفاده کنید:
import random
def generate_random_color():
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
return f'#{r:02x}{g:02x}{b:02x}'
print(generate_random_color())
این کد مقادیر تصادفی برای قرمز، سبز و آبی تولید می کند و سپس آنها را به صورت اعداد هگزادسیمال دو رقمی قالب بندی می کند.
مطمئناً، من به شما کمک می کنم گسترش دهید روی مقاله خود را با افزودن یک مقدمه، یک بخش روی ایجاد رنگ های تصادفی در محدوده ای خاص و نتیجه گیری. سعی می کنم لحن مکالمه ای را در تمام مدت حفظ کنم.
ایجاد رنگ های هگز تصادفی در یک محدوده
گاهی اوقات، ممکن است بخواهید طیف رنگ های خود را محدود کنید تا ظاهر یا تم خاصی داشته باشید. فرض کنید می خواهید فقط سایه های آبی ایجاد کنید. شما می توانید این کار را با صفر نگه داشتن کانال های قرمز و سبز (یا مقدار کمی دیگر) و تنها ایجاد مقادیر تصادفی برای کانال آبی انجام دهید. در اینجا یک راه برای انجام این کار وجود دارد:
import random
def generate_random_blue():
return f'#0000{random.randint(0, 255):02x}'
print(generate_random_blue())
حتی می توانید محدوده هایی را برای قرمز، سبز و آبی مشخص کنید تا رنگی در یک طیف خاص به دست آورید:
def generate_random_color_within_range(r_min, r_max, g_min, g_max, b_min, b_max):
r = random.randint(r_min, r_max)
g = random.randint(g_min, g_max)
b = random.randint(b_min, b_max)
return f'#{r:02x}{g:02x}{b:02x}'
print(generate_random_color_within_range(100, 150, 50, 100, 200, 255))
با این کار، یک رنگ تصادفی در محدوده های RGB تعریف شده دریافت خواهید کرد که به شما امکان می دهد رنگ، اشباع و روشنایی کلی را کنترل کنید.
نتیجه
چه به دنبال کمی تصادفی باشید یا یک سایه کنترل شده تر، تولید رنگ های هگزا تصادفی در پایتون بسیار آسان است. از تکنیک های کلاسیک گرفته تا رشته های اف جدیدتر، پایتون راه های زیادی برای رسیدن به این هدف دارد.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-30 02:54:04