Lewati ke konten
πŸ› οΈToolsShed

Pencampur Warna

Campurkan dua warna dan lihat hasil dalam RGB, HEX, dan HSL.

A 50% / B 50%
#6366f1
#855fdb
#a857c5
#ca50af
#ec4899

Tentang alat ini

Color Mixer adalah alat sederhana namun andal untuk mencampur dua warna dan menjelajahi hasil dalam berbagai format. Baik Anda seorang desainer yang memilih palet warna merek, pengembang yang membangun skema warna untuk antarmuka, atau seniman yang bereksperimen dengan harmoni warna, alat ini langsung menampilkan nilai RGB, HEX, dan HSL dari kombinasi warna apa pun tanpa memerlukan perangkat lunak grafis atau perhitungan matematis.

Untuk menggunakan alat ini, pilih atau tempel dua warna menggunakan pemilih warna atau kolom input HEX, lalu sesuaikan rasio pencampuran menggunakan penggeser untuk mengontrol seberapa banyak setiap warna mempengaruhi hasil akhir. Pencampur diperbarui secara real-time, menampilkan keluaran yang dicampur bersama ketiga format warna, sehingga memudahkan untuk menyalin nilai yang tepat untuk digunakan dalam kode, file desain, atau proyek digital. Anda juga dapat membalik warna atau menyesuaikan saluran RGB individual untuk kontrol yang lebih presisi.

Pertanyaan yang Sering Diajukan

Implementasi Kode

# RGB linear interpolation color mixing

def hex_to_rgb(hex_color: str) -> tuple[int, int, int]:
    hex_color = hex_color.lstrip('#')
    return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))

def rgb_to_hex(r: int, g: int, b: int) -> str:
    return f"#{r:02x}{g:02x}{b:02x}"

def mix_colors(color_a: str, color_b: str, ratio: float = 0.5) -> str:
    """
    Mix two hex colors.
    ratio=0.0 -> pure color_a
    ratio=0.5 -> equal mix
    ratio=1.0 -> pure color_b
    """
    r1, g1, b1 = hex_to_rgb(color_a)
    r2, g2, b2 = hex_to_rgb(color_b)

    r = round(r1 + (r2 - r1) * ratio)
    g = round(g1 + (g2 - g1) * ratio)
    b = round(b1 + (b2 - b1) * ratio)

    return rgb_to_hex(r, g, b)

# Generate gradient steps
def gradient_steps(color_a: str, color_b: str, steps: int = 5) -> list[str]:
    return [mix_colors(color_a, color_b, i / (steps - 1)) for i in range(steps)]

print(mix_colors("#6366f1", "#ec4899", 0.5))  # #a7559d
print(gradient_steps("#6366f1", "#ec4899"))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.