常规项目:
# 16进制颜色格式颜色转换为RGB格式
def hex_to_rgb(hex):
r = int(hex[1:3],16)
g = int(hex[3:5],16)
b = int(hex[5:7], 16)
return r,g,b
def add_bg_color(image, rgb):
bg_img = np.zeros((image.shape[0], image.shape[1], 3), np.uint8)
bg_img[:, :, 0] = rgb[0]
bg_img[:, :, 1] = rgb[1]
bg_img[:, :, 2] = rgb[2]
alpha = image[:, :, 3] / 255.
#print(alpha)
alpha_r = alpha[:, :, np.newaxis]
comp = image[:, :, :3] * alpha_r + bg_img * (1 - alpha_r)
comp = np.clip(comp, 0, 255)
comp = comp.astype(np.uint8)
return comp
print(hex_to_rgb('#ff0000'))
comp = add_bg_color(comp, hex_to_rgb('#ff0000'))
flask项目:
# 16进制颜色格式颜色转换为RGB格式
def hex_to_rgb(hex):
r = int(hex[0:2],16)
g = int(hex[2:4],16)
b = int(hex[4:6], 16)
return r,g,b
def add_bg_color(image, rgb):
bg_img = np.zeros((image.shape[0], image.shape[1], 3), np.uint8)
bg_img[:, :, 0] = rgb[0]
bg_img[:, :, 1] = rgb[1]
bg_img[:, :, 2] = rgb[2]
alpha = image[:, :, 3] / 255.
#print(alpha)
alpha_r = alpha[:, :, np.newaxis]
comp = image[:, :, :3] * alpha_r + bg_img * (1 - alpha_r)
comp = np.clip(comp, 0, 255)
comp = comp.astype(np.uint8)
return comp
if bg_color == '' or bg_color == 'None' or bg_color is None:
img_result_bg = img_result
else:
img_result_bg = add_bg_color(img_result, hex_to_rgb(bg_color))
参考资料
Python获取任意渐变色区段的16进制色值列表
Python 转换RGB颜色值的示例代码
将16进制的颜色转为rgb颜色
Python实现RGB和hex颜色转换(微软的RGB函数),HEX,互转,Microsoft



