精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

TypeScript封裝一個根據背景色顯示適合的字體顏色

開發 前端
在TypeScript中,你可以創建一個函數來確定基于背景顏色的對比色(通常是黑色或白色)作為文本顏色,以確保文本的可讀性。

方法一

在TypeScript中,你可以創建一個函數來確定基于背景顏色的對比色(通常是黑色或白色)作為文本顏色,以確保文本的可讀性。為了計算背景顏色與黑白之間的對比度,我們可以使用Web內容可訪問性指南(WCAG)的公式。

下面是一個簡單的TypeScript函數示例,它接受一個背景顏色(十六進制格式)作為輸入,然后返回一個推薦的字體顏色(黑色或白色):

function getContrastYIQ(hexcolor: string): string {
  // 如果輸入不帶#,則添加
  if (hexcolor.indexOf('#') !== 0) {
    hexcolor = '#' + hexcolor;
  }

  // 去除#號
  hexcolor = hexcolor.replace('#', '');

  // 將十六進制顏色分解為r, g, b
  const r = parseInt(hexcolor.substr(0, 2), 16);
  const g = parseInt(hexcolor.substr(2, 2), 16);
  const b = parseInt(hexcolor.substr(4, 2), 16);

  // 使用YIQ方程式計算亮度
  const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;

  // 根據亮度返回黑色或白色
  return yiq >= 128 ? 'black' : 'white';
}

// 用法示例
const backgroundColor = '#005A31'; // 深綠色
const textColor = getContrastYIQ(backgroundColor);
console.log(textColor); // 應該返回'white'因為深綠色背景下白色文本更可讀

這個函數使用了YIQ色彩空間,這是一個電視廣播領域使用的色彩空間,其中Y代表亮度分量,而I和Q分別代表色度分量。在這個例子中,我們只關心Y分量(亮度),以決定文本顏色使用黑色還是白色。

請確保輸入的顏色格式正確,并且你的應用可以處理不同的輸入格式。上面的代碼假設輸入是一個六位的十六進制顏色值。

此外,還有更復雜的方法來判斷對比度,比如根據WCAG 2.0標準計算顏色之間的對比度比率。這樣的計算會更復雜一些,但也可以提供更精確的結果。

方法二

如果你希望函數能夠返回除黑白之外的其他顏色作為字體顏色,你可以通過定義一組顏色和它們的亮度閾值來實現。這樣,函數就可以根據背景顏色的亮度來選擇一個合適的字體顏色。

首先,我們定義一個簡單的亮度判斷函數,然后基于背景色的亮度選擇合適的字體顏色。這里舉例說明如何擴展前面的函數以支持多種顏色選擇。

function getBrightness(hexcolor: string): number {
  // 標準化十六進制格式
  if (!hexcolor.startsWith('#')) {
    hexcolor = '#' + hexcolor;
  }

  // 提取RGB組件
  const r = parseInt(hexcolor.substring(1, 3), 16);
  const g = parseInt(hexcolor.substring(3, 5), 16);
  const b = parseInt(hexcolor.substring(5, 7), 16);

  // 計算亮度
  return ((r * 299) + (g * 587) + (b * 114)) / 1000;
}

function chooseTextColor(backgroundHex: string): string {
  // 定義顏色選項和它們的亮度界限
  const colors = [
    { color: '#000000', minBrightness: 0, maxBrightness: 180 },   // 黑色
    { color: '#FFFFFF', minBrightness: 180, maxBrightness: 256 }, // 白色
    { color: '#FFD700', minBrightness: 100, maxBrightness: 220 }, // 金色
    { color: '#0000FF', minBrightness: 50, maxBrightness: 150 }   // 藍色
  ];

  // 獲取背景色亮度
  const backgroundBrightness = getBrightness(backgroundHex);

  // 選擇一個亮度合適的顏色
  const suitableColor = colors.find(c => backgroundBrightness >= c.minBrightness && backgroundBrightness < c.maxBrightness);
  return suitableColor ? suitableColor.color : '#FFFFFF'; // 默認返回白色
}

// 用法示例
const backgroundColor = '#005A31'; // 深綠色
const textColor = chooseTextColor(backgroundColor);
console.log(textColor); // 根據配置,可能返回不同顏色

在這個例子中,我為函數增加了幾種顏色選擇。函數chooseTextColor將檢查背景顏色的亮度,并找到一個在設定亮度范圍內的顏色作為文本顏色。你可以根據需要調整顏色選項和它們的亮度界限。

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-12-26 11:25:25

CSS黑白文字

2024-01-30 13:53:31

2021-04-16 05:54:05

CSS 文字動畫技巧

2010-08-11 16:41:30

Flex DataGr

2010-08-11 16:30:49

Flex DataGr

2023-11-09 09:02:26

TypeScriptas const

2015-06-08 11:21:42

iOS技巧

2013-08-27 14:03:33

Web設計設計字體

2024-04-02 09:42:39

2024-04-09 07:36:03

AI產品AI技術人工智能

2024-01-26 12:35:25

JavaScript項目軟件包

2015-09-08 10:32:21

開源項目選擇方式

2015-09-11 10:29:13

開源項目閱讀

2020-06-18 10:03:13

在家工作疫情統一通信

2024-04-07 00:00:01

TypeScript語言REST

2018-11-29 09:45:03

Windows 10Windows版本

2022-11-21 07:57:56

cmake工程模板

2020-06-17 15:00:27

FedoraUbuntuLinux

2023-10-08 11:53:29

2023-07-17 09:19:20

CSSCSS 漸變
點贊
收藏

51CTO技術棧公眾號

中文字幕电影一区| 欧洲视频在线免费观看| 亚洲免费网址| 日韩美女一区| 麻豆久久久久久| 国产美女久久久久久| 884aa四虎影成人精品一区| 波多一区二区| 精品在线视频一区二区三区| 日韩电影免费在线看| 女人扒开腿免费视频app| 亚洲国产成人av好男人在线观看| 神马一区二区三区| 国产欧美在线观看| 影视亚洲一区二区三区| 欧洲女同同性吃奶| 日韩欧美色电影| 四虎国产精品免费久久| 全黄性性激高免费视频| 91亚洲午夜精品久久久久久| 国产三级午夜理伦三级| 欧美亚洲一级片| 亚洲三级色网| 欧美成人aaa片一区国产精品| 日韩专区中文字幕| 欧美日韩在线二区| 超薄肉色丝袜一二三| 日韩高清a**址| 在线成人动漫av| 国产熟妇久久777777| 日韩大陆欧美高清视频区| 色婷婷精品视频| 成人在线视频免费播放| 精品日本高清在线播放| 91福利在线免费| 日韩av在线播放不卡| 亚洲国产aⅴ成人精品无吗| 美女露胸视频在线观看| av动漫免费看| 欧美一区二区三区人| 日韩精品视频中文字幕| 催眠调教后宫乱淫校园| 欧美一区二区三区系列电影| 色综合久久久久综合99| 日韩电影在线观看完整版| 粉嫩av一区二区三区天美传媒| 欧美伊人久久大香线蕉综合69 | 日本午夜精品| 日韩在线 中文字幕| 欧美日韩免费高清| 欧美精品日日鲁夜夜添| 91精品在线观看国产| 亚洲福利在线观看视频| 久久久久久香蕉| 国产一区二区三区视频 | 欧美在线一区二区三区| 狠久久av成人天堂| 美国成人毛片| 特黄特色免费视频| 国产精品久久久久久久电影| 亚洲五月天综合| 一级黄色毛毛片| 成人激情综合网| 一本到高清视频免费精品| 日韩中字在线| 日本美女久久久| 欧美一级一级性生活免费录像| 久久久久蜜桃| av男人的天堂在线| 成年在线观看视频| 最近日韩中文字幕中文| 国内精品久久久久影院薰衣草 | 99r精品视频| 精品亚洲成a人片在线观看| 日韩亚洲欧美视频| 亚洲激情中文字幕| 亚洲人体偷拍| 天堂成人在线| 中文在线观看免费视频| 成人福利免费观看| 欧美另类变人与禽xxxxx| 色乱码一区二区三区网站| 欧美一区二区三区激情| 国产免费成人在线| 欧洲美女7788成人免费视频| 亚洲不卡一区二区三区| 亚洲深夜激情| 唐人社导航福利精品| 国产又粗又猛又爽又| 99久久国产宗和精品1上映| 欧洲永久精品大片ww免费漫画| 色八戒一区二区三区| 国产精品第十页| 二区三区在线观看| av在线播放中文字幕| 热这里只有精品| 91成人在线播放| 欧美综合在线视频| 国产福利一区二区| 免费一区二区三区在线视频| 欧美在线 | 亚洲| 欧美性色黄大片手机版| swag国产精品一区二区| 五月天丁香视频| 国产精品无码专区| 天堂v在线视频| 欧美激情精品久久久久久大尺度| 色综合久久综合网欧美综合网| 狠狠色狠狠色综合日日91app| 成人免费直播在线| 欧美少妇另类| 国产精品三区在线观看| av在线免费观看国产| 国产精品日本一区二区三区在线| 日韩毛片在线免费看| 成人激情视频网| 国产亚洲精品美女久久久久| 亚洲美女淫视频| 人禽交欧美网站| 爱情岛亚洲播放路线| 日本成人一级片| 永久免费的av网站| 久久亚洲精品欧美| 69av在线播放| 超碰在线一区| 亚洲综合精品国产一区二区三区 | 亚洲国产精品久久精品怡红院| 精品国产乱子伦一区二区| 精品免费久久久| 老司机深夜福利网站| 免费人成自慰网站| 久久久久久久久四区三区| 色妹子一区二区| 伊人久久大香线蕉av不卡| 97在线视频免费观看完整版| 亚洲中文无码av在线| 欧美中文字幕久久| 91蜜桃在线免费视频| 亚洲资源av| 久久综合av| 岛国精品在线| 国产白丝在线观看| 成人高清网站| 亚洲精品久久久久久无码色欲四季| 日本三级欧美三级| 国产一二三av| 日韩成人网免费视频| 午夜精品久久久久久久99樱桃| 久久综合九色综合欧美亚洲| 日本一不卡视频| 成人av二区| 日韩精品中文字幕吗一区二区| 麻豆影视在线观看_| 日本久久一级片| 一二三区在线播放| 国产又爽又黄的视频| 538精品视频| 国产乱了高清露脸对白| www.日本一区| 亚洲欧美日本另类| 偷拍与自拍一区| 亚洲免费观看高清完整版在线观看熊| 久久亚洲影视婷婷| 国产乱码精品一品二品| 99精品国产在热久久| 亚洲不卡av不卡一区二区| 免费看av成人| 亚洲老女人视频免费| 国产精品色呦| 成人搞黄视频| 欧美第一在线视频| 丝袜美腿一区| 成人在线不卡| 国产精品久一| 亚洲一二三区视频| 美日韩黄色大片| 在线日韩网站| 日韩电影免费在线观看| 国产一区二区亚洲| 精品久久久亚洲| 一本到12不卡视频在线dvd| 综合亚洲视频| 国产亚洲激情| 欧美三级午夜理伦三级在线观看| 国产精品久av福利在线观看| 精品深夜福利视频| 国产精品一区二区av日韩在线 | 欧美日韩xxxxx| 欧美黑人国产人伦爽爽爽| 亚洲 日韩 国产第一| 国产精品久久久久久久午夜| 国产欧美日韩综合精品| 国产日韩在线亚洲字幕中文| 99国产高清| 水蜜桃亚洲精品| 亚洲一区精彩视频| 和岳每晚弄的高潮嗷嗷叫视频| 久久久久免费看黄a片app| 国产精品无码专区av在线播放 | 一本色道久久综合亚洲精品酒店| 韩日精品一区二区| 啊啊啊久久久| 视频三区在线观看| 成人在线中文字幕| 精品视频免费观看| 女人另类性混交zo| 天天干天天舔天天操| 中文字幕在线视频第一页| 久久久久久久爱| 欧美日韩久久一区| 日日欢夜夜爽一区| 91丨porny丨最新| 色婷婷激情久久| 日韩在线观看网址| 91网免费观看| 成年网站在线免费观看| 少妇无套高潮一二三区| 美女福利视频在线观看| 超碰国产在线观看| 欧美黄色一级| 日韩在线视频免费看| 亚洲成人激情av| 亚洲人成电影在线播放| 99久久亚洲一区二区三区青草| 伊人婷婷欧美激情| 亚洲欧美第一页| 欧洲亚洲免费在线| 亚洲美女在线国产| 日韩一区二区在线观看视频| 国内精品小视频在线观看| 亚洲激情图片| 国产亚洲美女精品久久久| 欧美激情在线一区二区| 欧美日高清视频| 国产精品一区二区三区美女| 国产午夜在线播放| 91精品综合久久久久久五月天| www.激情网| 五月综合色婷婷| 国产日产精品久久久久久婷婷| 日韩精品一页| 热久久一区二区| 欧美亚洲综合网| 久久久女女女女999久久| 免费的一级黄色片| 国产探花在线播放| 成人看片免费| 一本久道久久综合狠狠爱| 亚洲综合丝袜美腿| 亚洲桃花岛网站| 成人午夜激情网| 日本少妇激三级做爰在线| 国产精品视频久久久久久| 四虎国产精品免费久久| 激情文学综合插| 欧美成人r级一区二区三区| 51午夜精品| 六十路息与子猛烈交尾| 欧美在线精品一区二区三区| 欧美美女在线直播| 国产精品天干天干在线综合| 日韩在线观看成人| 裸体大乳女做爰69| 亚洲免费视频一区二区| 91在线短视频| 中文字幕久久久久久久| 久久成人精品视频| 欧美成人a∨高清免费观看| 日韩av不卡在线| 欧在线一二三四区| 国产午夜无码视频在线观看| av资源在线| 夜夜精品视频| 亚洲男人电影天堂| 97国产一区二区精品久久呦 | 国产色99精品9i| 狠狠狠色丁香婷婷综合激情| 欧美日韩国产中文| av一区二区三区在线观看| 师生出轨h灌满了1v1| 色综合成人av| 日韩精品1区| 亚洲自拍偷拍av| 91福利视频网| 一区二区免费av| 在线观看你懂的网站| 视频一区二区视频| 久久久久99精品成人片试看| 欧美三级理论片| 亚洲天堂国产精品| 欧美美女黄色| 亚洲乱码国产乱码精品精98午夜 | 9191在线视频| 亚洲av片一区二区三区| 九九在线精品| 亚洲欧洲精品成人久久奇米网| 992tv在线成人免费观看| 午夜一区二区视频| 91香蕉视频在线观看视频| 性生活在线视频| 九九在线视频| 欧美成人h版| 欧美aⅴ99久久黑人专区| 在线观看视频一区二区欧美日韩| 亚洲最大激情中文字幕| 国产3级在线观看| 激情欧美一区二区三区黑长吊| 92国产精品观看| 国产精品99久久久久久久久| 日韩精品卡通动漫网站| jizz欧美| 亚洲成人精品一区| 日韩av一区二区三区在线观看| 精品视频久久久久| 国产精品免费99久久久| 欧美性色黄大片| 黄色99视频| 亚洲熟女乱综合一区二区| 国产在线视频福利| 久久综合伊人| 欧美成人高清视频| 一级黄色片在线免费观看| 黄色美女视频在线观看| 99久久99精品久久久久久| 国产精品7m视频| 日本美女xxx| 日本视频在线观看| 天堂√8在线中文| 少妇淫片在线影院| 国产色一区二区| 91最新国产视频| 日韩精品一区二区亚洲av| av网站大全在线观看| 婷婷久久综合| 校园春色亚洲| 91视频你懂的| www日韩av| 免费黄色小视频在线观看| 欧美女王vk| 欧美精品一区二区在线观看| 青青视频在线播放| 怡红院av在线| 一区二区三区四区不卡视频| 亚洲一区二区三区免费观看| 一级黄色a毛片| 久久婷婷麻豆| 欧美专区在线视频| 亚洲午夜18毛片在线看| 亚洲国产日韩欧美一区二区三区| 少妇激情综合网| 91网站免费入口| 精品久久精品| 最近免费中文字幕视频2019| xxxx日本黄色| 久草成人资源| 亚洲性xxxx| 人人妻人人藻人人爽欧美一区| 日韩成人在线看| 日韩一区二区三区在线视频| 亚洲精品一二三四| 成人在线视频中文字幕| 欧美tk—视频vk| 欧美性生交xxxxx| 91精品丝袜国产高跟在线| 亚洲国产一区自拍| 摸摸摸bbb毛毛毛片| 婷婷亚洲五月色综合| 久久综合免费视频| 亚洲高清毛片一区二区| 欧美一级网站| 久久亚洲一区二区三区四区| 亚洲欧美综合一区| 超碰在线最新网址| 在线成人免费观看| 777视频在线| 婷婷国产精品| 久久久久亚洲精品国产| 中文字幕自拍偷拍| 91免费看视频| 日韩精品资源| 九色porny丨首页入口在线| 91麻豆精品国产91久久久久| 日韩毛片无码永久免费看| 亚洲国产专区| 国产精品免费看久久久香蕉| 亚洲第一黄色片| 91视频com| 韩国无码av片在线观看网站| 99亚洲伊人久久精品影院| 亚洲精品一区中文字幕乱码| 精品在线免费观看视频| 狠狠色丁香婷婷综合| 亚洲欧美精品在线观看| 欧美大片1688| 亚洲精品美女久久久久| 久久国产在线视频| 搡老熟女老女人一区二区| 亚洲91网站| 伊人久久久久久久久久| 国产成人无码精品久在线观看|