برنامه نویسی

با این توابع مرتبط با رنگ، وب سایت خود را ادویه کنید

داستان برگشت

رنگ‌ها یکی از جنبه‌های مهم طراحی وب هستند و نقش مهمی در جذب بازدیدکنندگان و انتقال احساسات دارند. در این مقاله مجموعه ای از عملکردهای مرتبط با رنگ را به شما معرفی می کنیم که می تواند به شما کمک کند تا شخصیت بیشتری به وب سایت خود بیافزایید.

داستان جاوا اسکریپت!

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

تصویر

تبدیل کدهای رنگ Hex به مقادیر RGB

/**
 * Converts a hex color code to an object containing its RGB values.
 *
 * @param {string} hex - The hex color code to convert.
 * @returns {Object} An object containing the red, green, and blue values of the hex color code.
 */
function hexToRgb(hex) {
    const r = parseInt(hex.slice(1, 3), 16);
    const g = parseInt(hex.slice(3, 5), 16);
    const b = parseInt(hex.slice(5, 7), 16);
    return { r, g, b };
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر با مفهوم آشنایی ندارید، کد رنگ هگز یک کد شش رقمی است که یک رنگ را در قالب هگزا دسیمال نشان می دهد. با این حال، گاهی اوقات ممکن است برای دستیابی به یک اثر خاص یا استفاده در برخی از محاسبات، لازم باشد این کد را به مقادیر RGB تبدیل کنید. با ما hexToRgb عملکرد، شما می توانید این کار را انجام دهید. به سادگی کد رنگ هگز خود را وارد کنید، و تابع یک را برمی گرداند object با قرمز، سبز و آبی مقادیر آن رنگ

تبدیل مقادیر رنگ RGB به کدهای رنگ هگز

/**
 * Converts RGB color values to hex color code.
 *
 * @param {number} r - The red color value (0-255).
 * @param {number} g - The green color value (0-255).
 * @param {number} b - The blue color value (0-255).
 * @returns {string} The hex color code.
 */
function rgbToHex(r, g, b) {
    const hexR = r.toString(16).padStart(2, '0');
    const hexG = g.toString(16).padStart(2, '0');
    const hexB = b.toString(16).padStart(2, '0');
    return `#${hexR}${hexG}${hexB}`;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از طرف دیگر، اگر مقدار رنگ RGB دارید، ممکن است لازم باشد آن را به یک کد رنگ هگزا تبدیل کنید. این جایی است که ما rgbToHex عملکرد به کار می آید. را وارد کنید قرمز، سبز و آبی مقادیر، و تابع کد رنگ هگز را برای آن رنگ برمی گرداند.

ایجاد سایه های یک رنگ

/**
 * Generate color shades
 * @param {string} hex color string
 * @param {number} numShades the number of color shades
 * @param {null|number} onlyShade the number is accourding from numShades with index start from 0
 * @returns {array|string} colors array or string
 */
export function generateShades(hex, numShades, onlyShade = null) {
    // Convert the hex color to RGB
    const rgb = hexToRgb(hex);
    // Initialize the shades array
    const shades = [];
    // Determine the color step
    const step = Math.round(255 / (numShades - 1));
    // Generate the shades of the color
    for (let i = 0; i < numShades; i++) {
        const r = Math.max(Math.min(rgb.r + i * step, 255), 0);
        const g = Math.max(Math.min(rgb.g + i * step, 255), 0);
        const b = Math.max(Math.min(rgb.b + i * step, 255), 0);
        // Convert the RGB color back to hex
        const shade = rgbToHex(r, g, b);
        shades.push(shade);
    }
    return onlyShade !== null ? shades[onlyShade] : shades;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

ایجاد کدهای رنگ هگز از رشته ها

/**
 * Generates a hex color code from a string using a simple hash function.
 * @param {string} anyString - The input string to generate the hex color code from.
 * @returns {string} The generated hex color code.
 */
export function generateHexColor(anyString) {
    // Use a simple hash function to generate a number from the anyString
    let hash = 0;
    for (let i = 0; i < anyString.length; i++) {
        hash = anyString.charCodeAt(i) + ((hash << 5) - hash);
    }

    // Generate a 24-bit color from the hash
    let color = (hash & 0x00FFFFFF).toString(16).toUpperCase();

    // Pad the color code with zeros if necessary
    while (color.length < 6) {
        color = "0" + color;
    }

    // Prepend a hash symbol to the color code
    return "#" + color;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

گاهی ممکن است بخواهید یک رنگ بر اساس یک رشته خاص تولید کنید، مانند نام کاربری یا نام کاربری. با ما generateHexColor عملکرد، شما می توانید این کار را انجام دهید. به سادگی هر رشته ای را وارد کنید، و تابع از یک تابع هش ساده برای تولید یک رنگ 24 بیتی از آن رشته استفاده می کند. نتیجه یک کد رنگ هگز منحصر به فرد است که می توانید از آن برای افزودن شخصیت بیشتر به وب سایت خود استفاده کنید.

محاسبه رنگ مخالف یک رنگ هگزادسیمال

/**
 * Calculates the opposite color of the given hexadecimal color.
 *
 * @param {string} hexColor - The hexadecimal color to calculate the opposite of.
 * @returns {string} The opposite color in hexadecimal format.
 */
export function getOppositeColor(hexColor) {
    // Remove the "#" character if present
    hexColor = hexColor.replace("#", "");

    // Convert the hex color to RGB
    const red = parseInt(hexColor.substr(0, 2), 16);
    const green = parseInt(hexColor.substr(2, 2), 16);
    const blue = parseInt(hexColor.substr(4, 2), 16);

    // Calculate the opposite color
    const oppositeRed = 255 - red;
    const oppositeGreen = 255 - green;
    const oppositeBlue = 255 - blue;

    // Convert the opposite color to hex
    const oppositeHex = "#" +
        oppositeRed.toString(16).padStart(2, "0") +
        oppositeGreen.toString(16).padStart(2, "0") +
        oppositeBlue.toString(16).padStart(2, "0");

    return oppositeHex;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در نهایت، اگر به دنبال ایجاد کنتراست بیشتر در وب سایت خود هستید، ما getOppositeColor عملکرد می تواند به شما در رسیدن به آن کمک کند. یک کد رنگ هگزا را وارد کنید و تابع رنگ مخالف را در قالب هگزادسیمال برمی گرداند. این می تواند به شما کمک کند تا از نظر بصری سایت جذاب تری ایجاد کنید که برای بازدیدکنندگان خود متمایز باشد.

نتیجه

اضافه کردن رنگ بیشتر به وب سایت شما نیازی به سختی و یا وقت گیر نیست. با این پنج عملکرد، می توانید به راحتی رنگ ها و شیب های منحصر به فردی ایجاد کنید که به سایت شما شخصیت و جذابیت بیشتری می بخشد.

خودشه! ممنون که داستان استعاره من را خواندید…

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا