Python chuyển đổi hex sang RGB

Trong bài viết này, chúng ta sẽ tìm hiểu về cách chuyển đổi mã màu RGB sang hex trong python. Bài viết này chủ yếu dành cho việc chuyển đổi mã màu RGB sang hex nhưng chúng ta cũng sẽ thấy mặt trái của cách chuyển đổi mã màu hex sang RGB trong python này. Trước khi tiếp tục, chúng ta cần hiểu RGB và màu hex là gì

Sự khác biệt giữa màu RGB và màu hex

Màu RGB . - Trong màu RGB, R là viết tắt của Đỏ, G là viết tắt của Xanh lục và B là viết tắt của Xanh lam và nằm trong khoảng giá trị thập phân từ 0 – 255. Do đó, với mỗi bộ màu có 256 tổ hợp màu. Vì vậy, tổng giá trị có thể có của màu có sẵn là (256 x 256 x 256) i. e. 16.777.216. Ví dụ. - (255,0,0) -> màu này là màu đỏ.

Màu lục giác . - Mã màu hex là một cách duy nhất để thể hiện màu bằng cách sử dụng các giá trị thập lục phân. Mã được viết trong bộ ba hex, đại diện cho từng giá trị chỉ định các thành phần của màu sắc. Mã luôn bắt đầu bằng dấu thăng (#) và sau dấu hiệu này, sáu giá trị hex hoặc ba cặp giá trị hex được viết. Ví dụ. - #bab7c8

Chuyển đổi RGB sang hex và ngược lại trong Python

Có nhiều phương pháp có sẵn để chuyển đổi RGB sang hex và ngược lại. Hãy hiểu với một số ví dụ. -

  • Mã đơn giản mà không cần sử dụng bất kỳ mô-đun nào

RGB sang lục giác

def rgb_to_hex(rgb):
    return '%02x%02x%02x' % rgb
rgb_to_hex((255, 255, 195))

đầu ra. - ‘ffffc3‘

Trong ví dụ trên, chúng tôi đã tạo một hàm và chuyển giá trị RGB làm đối số bên trong nó và chúng tôi đã chuyển đổi RGB thành Hex bằng cách sử dụng chuyển đổi chuỗi

lục giác sang RGB

def hex_to_rgb(value):
    value = value.lstrip('#')
    lv = len(value)
    return tuple(int(value[i:i+lv//3], 16) for i in range(0, lv, lv//3))
hex_to_rgb("FF65BA")

đầu ra. - (255, 102, 186)

Trong ví dụ trên, chúng tôi đã tạo hàm để chuyển đổi Hex thành RGB và chuyển chuỗi bên trong nó rồi chuyển đổi nó thành bộ số nguyên

  • Chuyển đổi RGB sang Hex và ngược lại bằng mô-đun matplotlib
import matplotlib

print(matplotlib.colors.to_hex([ 0.47, 0.0, 1.0 ]))
print(matplotlib.colors.to_hex([ 0.7, 0.321, 0.3, 0.5 ], keep_alpha=True))

print(matplotlib.colors.to_rgb("#aabbcc"))
print(matplotlib.colors.to_rgb("#ddee9f"))

đầu ra. -

#7800ff
#b2524c80
(0.6666666666666666, 0.7333333333333333, 0.8)
(0.8666666666666667, 0.9333333333333333, 0.6235294117647059)

Trong ví dụ này, chúng tôi đã nhập mô-đun cần thiết i. e. matplotlib và sau đó sử dụng hàm “colors. to_hex” và “màu sắc. to_rgb” và chuyển giá trị bắt buộc bên trong mỗi chức năng. Trong một trong các ví dụ, chúng tôi đã chuyển bốn đối số bên trong hàm colors. to_hex, đối số thứ tư dành cho độ mờ của màu. Độ mờ thay đổi từ 0 đến 1

Khi bạn muốn làm việc với màu trong ngôn ngữ lập trình, bạn cần biết cách tham chiếu các giá trị màu khác nhau bằng cùng một tên

Nói cách khác, điều gì sẽ xảy ra nếu bạn có hàng nghìn giá trị RGB nhưng chỉ cần một vài giá trị HSV?

Chức năng đơn giản này cho phép bạn lấy một giá trị RGB và chuyển đổi nó thành HSV

Trong bài viết này, tôi sẽ chỉ cho bạn các cách khác nhau để chuyển đổi giá trị HEX sang RGB và HSV trong mã Python của bạn

Cách chuyển đổi HEX sang RGB và HSV trong Python

Để chuyển đổi HEX sang RGB và HSV trong Python, hãy sử dụng hàm do người dùng xác định. Đây là một ví dụ

def hex_to_rgb(hex_value)
h = hex_value. dải("#")
convertsTo_rgb = tuple(int(h[i. i+2], 16) cho tôi trong (0, 2, 4))
trả lại chuyển đổiTo_rgb
in(hex_to_rgb(“#180C27”))
in(hex_to_rgb((“#F51930”)))

Giá trị HEX trong Python là gì?

Giá trị HEX là biểu diễn số của số thập lục phân. Chuỗi HEX là một cách thể hiện số trong ký hiệu thập phân

Nó được sử dụng để biểu thị các số không dài chính xác 16 chữ số. Nó cũng có nghĩa là các số không dài chính xác 2 chữ số

Số thập lục phân được sử dụng trong nhiều ứng dụng như mật mã, lưu trữ dữ liệu và lập trình máy tính. Nó cũng được sử dụng trong một số hệ điều hành để biểu thị tên tệp và dữ liệu khác

Số thập lục phân là một hệ thống số cơ số 16. Nó có sáu chữ số, mỗi chữ số đại diện cho 16 chữ số nhị phân. Chữ số đầu tiên biểu thị lũy thừa của 10, chữ số thứ hai biểu thị lũy thừa của 100, v.v. Ba chữ số cuối đại diện cho sức mạnh của 1000

Giá trị RGB trong Python là gì?

Mô hình màu RGB là một hệ thống biểu diễn màu được phát triển vào đầu thế kỷ 20

Mô hình màu RGB sử dụng ba màu cơ bản (đỏ, lục và lam) để thể hiện các sắc thái màu khác nhau

Mỗi màu cơ bản có độ sáng và độ bão hòa cụ thể, được biểu thị bằng một giá trị số. Mô hình màu RGB thường được sử dụng để tạo hình ảnh và bản in dễ đọc và dễ hiểu

Giá trị HSV trong Python là gì?

HSV – (màu sắc, độ bão hòa, giá trị), còn được gọi là HSB (màu sắc, độ bão hòa, độ sáng), thường được các nghệ sĩ sử dụng vì việc nghĩ về một màu sắc theo sắc độ và độ bão hòa thường tự nhiên hơn so với chất phụ gia hoặc

HSV là sự biến đổi của một không gian màu RGB, các tính năng và phép đo màu của nó có liên quan đến không gian màu RGB mà nó được tạo ra từ đó

Chuyển đổi HEX sang RGB bằng Python – 3 phương pháp tốt nhất

1. Sử dụng chức năng do người dùng xác định để Chuyển đổi HEX sang RGB trong Python

Để chuyển đổi mã màu HEX thành RGB, bạn có thể tạo hàm do người dùng xác định trong Python. Như bạn đã biết, giá trị chuỗi HEX đi kèm với dấu '#' phía trước mã màu

Đầu tiên, xóa dấu hex. Sau đó, một lần nữa, cắt chuỗi HEX thu được thành ba phần bằng nhau – ba chuỗi con khớp với ba kênh trên bảng màu RGB

Cuối cùng, lấy biểu diễn thập lục phân của các chuỗi con đó. Một ví dụ được đưa ra dưới đây

def hex_to_rgb(hex_value):
h = hex_value.strip("#")
convertsTo_rgb = tuple(int(h[i:i+2], 16) for i in (0, 2, 4))
return convertsTo_rgb
print(hex_to_rgb("#180C27"))
print(hex_to_rgb(("#F51930")))

đầu ra

(24, 12, 39)

(245, 25, 48)

2. Sử dụng Thư viện matplotlib để chuyển đổi HEX sang RGB trong Python

Matplotlib là một thư viện vẽ đồ thị cho Python, nổi tiếng với việc sử dụng trực quan hóa tương tác

Nó cung cấp một chức năng tiện dụng có tên là colors(), giúp dễ dàng giải quyết vấn đề này. Hàm colors() chuyển đổi rõ ràng chuỗi HEX thành mã màu RGB

from matplotlib import colors
convertsTo_rgb = tuple(i*255 for i in colors.to_rgb("#180C27"))
print(convertsTo_rgb)

đầu ra

(24, 12, 39)

3. Sử dụng thư viện gối để chuyển đổi HEX sang RGB trong Python

Thư viện Gối Python là phiên bản cập nhật của thư viện cũ hơn có tên là PIL. PIL là viết tắt của

Thư viện này được thiết kế để xử lý hình ảnh trong Python. Tuy nhiên, bạn có thể sử dụng thư viện PIL để chuyển đổi chuỗi HEX thành RGB với sự trợ giúp của hàm ImageColor()

Hàm ImageColor() nhận hai tham số. Tham số đầu tiên là giá trị mã màu và tham số thứ hai là chế độ

from PIL import ImageColor
convertsTo_rgb = ImageColor.getcolor("#180C27", "RGB")
print(rgb)

đầu ra

(24, 12, 39)

Chuyển đổi RGB sang HSV trong Python

Chuyển đổi RGB sang HSV có thể là một quá trình dài trong Python

Khi bạn hiểu định nghĩa của mã màu và kiểu chuyển đổi của chúng, bạn sẽ dễ dàng hơn. Hãy để tôi giúp bạn bằng cách chia nhỏ các bước cho bạn

Làm cách nào để chuyển đổi mã hex sang RGB trong Python?

xác định hex_to_rgb(hex)
rgb = []
cho tôi trong (0, 2, 4)
số thập phân = int(hex[i. i+2], 16)
rgb. nối thêm (thập phân)
trả lại bộ dữ liệu (rgb)

Bạn có thể chuyển đổi hex sang RGB không?

Chuyển đổi hex sang RGB . Lấy 2 chữ số ở giữa của mã màu hex và chuyển đổi thành giá trị thập phân để có mức màu xanh lục. Get the 2 left digits of the hex color code and convert to decimal value to get the red color level. Get the 2 middle digits of the hex color code and convert to decimal value to get the green color level.

Màu hex có hoạt động trong Python không?

Rùa trăn có các màu được xác định trước như 'đỏ' và 'trắng' nhưng bạn cũng có thể sử dụng mã màu hex (bạn có thể đã thấy . )

Làm cách nào để chuyển đổi hex thành int trong Python?

Bạn có thể chuyển đổi chuỗi lục giác thành số nguyên trong Python bằng cách sử dụng phương thức literal_eval() của thư viện ast (Cây cú pháp trừu tượng) . Ta phải truyền chuỗi hex cho hàm literal_eval(), không có tham số, hàm chuyển chuỗi hex thành số nguyên.