وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

ایجاد رنگ های هگز تصادفی در پایتون

0 122
زمان لازم برای مطالعه: 2 دقیقه


معرفی

فرض کنید در حال ساخت یک ابزار تجسم هستید و باید چند رنگ تولید کنید – چگونه این کار را انجام می دهید؟ یا شاید شما یک رنگ پایه دارید و باید رنگی مشابه تولید کنید. اینها فقط چند مورد استفاده هستند که در آنها باید روش تولید رنگ های هگزادسیمال تصادفی را بیابید.

در این بایت، چند راه برای ایجاد این رنگ ها در پایتون به شما ارائه خواهیم داد.

تولید رنگ های هگز تصادفی

خوشبختانه این کار به لطف داخلی بسیار ساده است 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 تعریف شده دریافت خواهید کرد که به شما امکان می دهد رنگ، اشباع و روشنایی کلی را کنترل کنید.

پیشنهاد می‌کنیم بخوانید:  صفحه بندی در جاوا اسکریپت Vanilla هنگام ایجاد یک وب سایت یا برنامه وب، به خصوص اگر دارای محتوای قالب زیادی باشد (مانند شبکه یا لیستی از موارد متعلق به یک دسته) - به طور کلی ایده خوبی است که آن را به صفحات تقسیم کنید تا تعداد آنها کاهش یابد. مواردی که ظاهر می شوند روی صفحه نمایش...

نتیجه

چه به دنبال کمی تصادفی باشید یا یک سایه کنترل شده تر، تولید رنگ های هگزا تصادفی در پایتون بسیار آسان است. از تکنیک های کلاسیک گرفته تا رشته های اف جدیدتر، پایتون راه های زیادی برای رسیدن به این هدف دارد.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1402-12-30 02:54:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید