日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python怎么变各种颜色_python – 如何淡化颜色

發布時間:2025/3/11 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么变各种颜色_python – 如何淡化颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有很多方法可以做到這一點.您如何選擇這取決于您是否重視速度和簡單性或感知均勻性.如果你需要它是真正統一的,你需要用顏色配置文件定義RGB顏色,你需要配置文件的原色,這樣你就可以轉換為XYZ,然后轉換到LAB,你可以操作L通道.

大多數情況下,您不需要這樣做,而是可以使用像Photoshop一樣的簡單HSB模型.

要做到這一點,您只需想象一下RGB點與3D空間中的白點之間的線,并沿著該線移動顏色.實際上,您可以為該線創建參數方程并移動參數.

import numpy as np

def lighter(color, percent):

'''assumes color is rgb between (0, 0, 0) and (255, 255, 255)'''

color = np.array(color)

white = np.array([255, 255, 255])

vector = white-color

return color + vector * percent

百分比0.0將返回相同的顏色,1.0將返回白色.之間的一切都將是相同色調的淺色調.這應該給你的結果與Photoshop的HSB實現一致,但是將取決于設備并且可能不是完全一致的.

如果你有RGB [200,100,50]并且放入.50的百分比,它應該返回RGB [227.5 177.5 152.5] Photoshop報告兩者的色調為20o.

沒有numpy這樣做并不難,但是元素操作很方便.

根據評論進行編輯:

我并不是建議你這樣做,除非你知道你真的需要這么做.但是,如果你想轉換為LAB,你可以毫無困難地進行操作.最重要的是,你需要知道你的RGB數字開頭的顏色空間,或者你需要對它們的含義做一些假設.由于sRGB在網絡上非常標準,我會在這里假設.

轉換并不困難,但很容易出錯.令人高興的是,有一個非常好的colormath模塊和良好的文檔:https://github.com/gtaylor/python-colormath

使用它你可以像這樣在sRGB和LAB之間轉換:

from colormath.color_objects import sRGBColor, LabColor

from colormath.color_conversions import convert_color

sRGB = sRGBColor(126, 126, 126, is_upscaled=True) # or between [0, 1] with out is_upscaled

lab = convert_color(sRGB, LabColor)

實驗室現在是一個帶有亮度通道lab.lab_l的顏色,您可以在黑色(0)和白色(100)之間上下移動.這應該比HSB在感知上更統一(但是,根據您的應用,可能還不足以保證工作).

您只需更改lab_l然后轉換回:

lab.lab_l = 80

new_sRGB = convert_color(lab, color_objects.sRGBColor).get_upscaled_value_tuple()

new_sRGB現在是[198,198,198]. colormath為您處理光源和伽瑪問題.

總結

以上是生活随笔為你收集整理的python怎么变各种颜色_python – 如何淡化颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。