當前位置: 華文問答 > 數位

手機深色模式為什麽不是純黑,而是黑灰色?

2024-01-17數位

結論

謝大佬邀請,結論大佬也說了, 其實就是不是最好的選擇,而且也沒必要。

就顏色而言,在電腦的RGB色彩空間中,(255,255,255)到(0,0,0)表示純黑到純白,手機的深色模式一般都是白字黑底, 直覺來看,純黑肯定看著更清晰,但是顯著的問題就是純黑和純白兩個極端在一起對比太強,直接感受就是不舒服,字刺眼睛。因為二者對比度實在太高,所以灰黑色是一個中庸的選擇,不必過於極端。

一個小實驗

對這個問題,可以做一個小實驗,我生成一批圖片(256張,覆蓋純黑到純白所有灰度的背景),字型不變,背景純黑到純白,生成一張動圖,大家可以感受一下其中的不一樣。

準備看動圖,建議在黑暗環境中觀看更具效果。

本來做和手機一樣比例的圖,結果傳不上來,改成1080*1080了

很明顯,純黑的觀感不是太舒服,個人覺得刺眼且不柔和。而中間的的顏色,看起來整體舒服不少。

純黑色(255,255,255)

(255,255,255)

不那麽黑的(194,194,194)

(194,194,194)

再淺一點的(155,155,155)

(194,194,194)

總結

簡單來說,為了美觀和觀感舒適,強對比度是不合適的,手機螢幕離眼睛很近,且深色模式本就是夜間使用,螢幕內容的對比度太高對眼睛不好,也影響使用。不是純黑而是灰黑自然也是廠商和使用者雙方共同希望的結果。

測試程式碼開源

放個程式碼,感興趣的自己去嘗試一下吧,不局限於探討深色模式,有其他顏色對比的可以酌情更改測試。

import cv2,os import numpy as np import imageio width = 1080 height = 1080 duration = 0.5 # 建立一個資料夾來保存影像 if not os.path.exists('images'): os.makedirs('images') frames = [] # 從白色到黑色的顏色範圍 for i in range(256): # 建立一個影像 img = np.ones((height, width, 3), dtype=np.uint8) * i # 添加白色的文字 cv2.putText(img, 'Screen Test', (width//2 - 200, height//2), cv2.FONT_HERSHEY_SIMPLEX, 2, (255, 255, 255), 5) # 保存影像 cv2.imwrite(f'images/img{i}.png', img) frames.append(f'images/img{i}.png') # 建立動畫 with imageio.get_writer('screen_test.gif', mode='I', duration=duration) as writer: for filename in frames: image = imageio.imread(filename) writer.append_data(image)