国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

圖形編輯器:適配高分辨率屏幕

開發 前端
最近我改用 Macbook Pro 的視網膜 (Retina) 屏幕開發時,發現高分屏(高分辨率屏幕)反而讓圖形編輯器中的線變得模糊了。

大家好,我是前端西瓜哥。我的圖形編輯器項目一直都是用一個 1080P 的老顯示器開發的。

但最近我改用 Macbook Pro 的視網膜 (Retina) 屏幕開發時,發現高分屏(高分辨率屏幕)反而讓圖形編輯器中的線變得模糊了。

這次我們來看看該如何解決這個問題。

項目地址,歡迎 star:

https://github.com/F-star/suika

線上體驗:

https://blog.fstars.wang/app/suika/

高分屏

表達代碼中的一個像素(獨立像素),原本是只需要一個屏幕的一個發光單元(物理像素),一對一關系,很好理解。

但隨著顯示器的發展,我們有了更小尺寸的發光單位,可以在原本一個發光單元的空間上放上更多的小發光單元。

這種情況下,如果還是一個發光單元對應一個代碼中的像素,會導致繪制的圖形變小,遠看看不清楚。

怎么辦,我們的方案是 用多個發光單元表示一個代碼中的像素。比如 Mac 的視網膜 (Retina) 屏幕,會將獨立像素寬高乘以 2,映射到 4 個發光單元上。

但不一定會將多個點設置相同的顏色,而是會在一些情況下做抗鋸齒處理,所以在高分屏中會發現鋸齒少了,看起來高清多了,但也會讓原本就是想要鋸齒狀的邊緣變得光滑。

devicePixelRatio

devicePixelRatio (通常我們用 dpr 變量名)是設備像素比,指的是當前顯示設備的物理像素分辨率與CSS 像素分辨率之比。

這個定義有點抽象,其實就是前文我說的那些。對于 Mac 的視網膜 (Retina) 屏幕,它的 devicePixelRatio 是 2,也就是將一個 CSS 像素寬高各乘以 2,繪制到屏幕的 4 個發光單元上。

圖片

我們可以通過 window.devicePixelRatio 拿到瀏覽器所在屏幕的設備像素比。

Canvas 的處理

Canvas 繪制的像素(比如線條),在高分屏中,會因為繪制成 4 個點(即發光單元),變得更粗,此外也會因為抗鋸齒處理造成模糊。

在 IOS App 的 UI 設計中,有一種 ??@2x???,??@3x?? 圖的概念。就是將圖片放大 2 倍和 3 倍進行設計,然后渲染時尺寸指定回原來的尺寸進行繪制。

這樣屏幕渲染時能拿到更多的像素細節,做到一個像素對應一個發光單元,不是基于一個 1x1 的像素,去放大為 2x2 或 3x3,而丟失細節。

Canvas 本質也是一張圖片,它的 ??width??? 和 ??height??? 屬性代表該圖片的原始寬高, ??style.width??? 和 ??style.height?? 則是實際渲染寬高。

所以解決方法是,將 Canvas 原始寬高設置為容器寬度的 devicePixelRatio 倍,然后再用 style.width 和 style.height 設置為容器寬高。

然后 Canvas 在繪制圖形前,將縮水的 Canvas 通過縮放變形恢復原來的尺寸。

const dpr = window.devicePixelRatio || 1;
const cw = 1000; // 容器寬高,畫布會鋪滿這個容器區域。
const ch = 1000;

/*** 設置畫布屬性 ***/
canvas.width = cw * dpr;
canvas.height = ch * dpr;

canvas.style.width = cw + 'px';
canvas.style.height = ch + 'px';

/*** 繪制 ***/
// 因為 Canvas 的內容縮水了,所以繪制圖形前要縮放 dpr 倍變回換來尺寸
ctx.scale(dpr, dpr);
// 繪制各種圖形

結尾

總結一下,就是高分屏有更小的發光單元,一般情況下會用 2x2、3x3 個點去表示一個像素,一些情況下會讓鋸齒邊緣變得光滑,但也可能會讓清晰的線條的邊緣變得模糊。

對于圖片和 Canvas,可以擴大對應的 devicePixelRatio 倍數,然后再縮放為頁面中容器的大小,這樣顯示器就能拿到完整的像素信息了,就不會應為放大而失真。

責任編輯:姜華 來源: 前端西瓜哥
相關推薦

2018-11-16 09:50:46

Windows 10高分辨率屏幕截圖

2012-01-05 16:08:57

佳能激光打印機

2011-11-14 13:30:27

惠普掃描儀

2022-12-05 15:27:52

VR技術

2023-10-27 08:30:52

傳輸接口刷新率

2011-10-31 17:12:42

激光打印機評測

2012-01-17 10:35:31

惠普掃描儀

2011-10-28 15:52:22

激光打印機評測

2018-03-02 15:39:18

顯示器分辨率主流

2022-11-01 08:00:00

2025-03-06 00:00:05

DPIHD開發

2011-04-28 13:09:49

2020-09-21 16:11:04

Adobe 軟件平臺

2012-11-02 13:18:11

筆記本

2024-06-05 09:26:50

2025-02-05 12:41:21

線性新范式分辨率

2012-10-08 16:45:47

索尼VPL-F500H投影機

2020-12-31 11:12:09

Windows客戶端花生殼

2020-06-30 14:08:57

算法模型deepfake
點贊
收藏

51CTO技術棧公眾號

欧美日韩亚洲另类| 日韩欧美一卡二卡| 亚洲精品日韩av| 美州a亚洲一视本频v色道| 国内精品写真在线观看| 国产精品精品一区二区三区午夜版| 91蜜桃在线视频| 91免费看视频| 日韩中文字幕一区二区| 欧美精品第一区| 亚洲成色777777女色窝| 国产亚洲人成a在线v网站| 中文字幕一区二区三区视频| 99精品国产一区二区青青牛奶| 色七七影院综合| 大地资源中文在线观看免费版| 中文字幕欧美三区| 美国av在线播放| **女人18毛片一区二区| 欧美激情在线观看视频| 国产后进白嫩翘臀在线观看视频| 欧美日韩一区二区三区在线视频| 成人国产精品| 欧美视频日韩| 97在线看免费观看视频在线观看| 法国空姐在线观看免费| 亚洲国产高清不卡| 青草青青在线视频| 日韩欧美在线中字| 午夜精品99久久免费| 国产韩日精品| 国产美女精品视频免费播放软件 | 久久亚洲国产精品| 羞羞网站在线看| 欧美伊人久久久久久久久影院 | 国产精品免费区二区三区观看| 麻豆久久一区| 日韩视频中文字幕| 免费观看成人性生生活片| 亚洲精品久久久久久久久久久| 久操免费在线| 欧美日韩一区二区欧美激情| 国产三区四区在线观看| 欧美日韩在线一区| 一卡二卡三卡亚洲| 一本色道久久综合狠狠躁的推荐| 日本视频在线观看一区二区三区| 精品久久久久久久久久久久| 中文字幕网在线| 欧美日韩一区二区在线| 女人天堂在线| 欧美二区在线观看| 久色国产在线| 亚洲精品视频免费| 黄色日韩网站| 久久成人在线视频| 99re8这里有精品热视频免费| 91精品国产自产91精品| 国产一区二区三区天码| 91超碰在线免费观看| 国产日本精品| 亚洲精品在线观看免费| 成年人黄色电影| 免费人成在线不卡| 精品国产一区二区三| 亚洲欧美亚洲| 日韩美女视频在线观看| 日韩高清在线免费观看| 图片小说视频色综合| 成人免费看黄| 精品国产1区二区| 精品捆绑调教一区二区三区| 喷水一区二区三区| 日韩人妻无码精品久久久不卡| 永久91嫩草亚洲精品人人| 国产精品久久一区| 国产麻豆一区二区三区| 日本高清不卡在线观看| 欧美日韩一区在线视频| 极品销魂美女一区二区三区| 青青青在线观看视频| 午夜在线视频一区二区区别| 欧美三级电影网| 黄色成人在线网| 欧美日韩亚洲一区二| 午夜精品一区二区三区四区| 欧美xxxx中国| 亚洲免费伊人电影在线观看av| 最新中文字幕av专区| 国产在线一区观看| 免费观看久久久久| 欧美男男青年gay1069videost| 国内在线视频| 久久天天躁夜夜躁狠狠躁2022| 欧美黄色影院| 精品国产乱码久久久久久蜜柚| 国产剧情一区在线| 欧美xxxxxxxxx59| 精品久久一区二区| 丁香婷婷成人| 女女同性女同一区二区三区91| 成人av网站在线观看免费| 极品粉嫩饱满一线天在线| 精品免费视频.| 精品国产午夜肉伦伦影院| 精品视频一区在线| 国产精品免费人成网站| 色多多视频在线观看| 久久久久999| 亚洲国产一区二区精品专区| 亚洲色欲综合一区二区三区| 欧美中文字幕亚洲一区二区va在线| av亚洲一区| 国产一区二区三区奇米久涩| 国产婷婷色一区二区三区四区| 麻豆视频在线观看免费网站| 97欧美精品一区二区三区| 久久国产三级精品| 中文字幕在线观看| 欧美巨猛xxxx猛交黑人97人| 久久裸体视频| 黄污网站在线观看 | 精品国产青草久久久久福利| 色爱av综合网| 国产免费一区二区三区四在线播放 | 无码内射中文字幕岛国片| 国产精品久久久久久久久久久新郎 | 国产91色在线| 精东粉嫩av免费一区二区三区| 香蕉自在线视频| 在线日韩精品视频| 性色一区二区| 在线免费av网址| 欧美福利小视频| 国产成人免费xxxxxxxx| 大片免费在线看视频| 国产日本欧美视频| 国产精品久久久久久久久快鸭| 波多视频一区| 日韩精品一线二线三线| 一本一道综合狠狠老| 亚洲女娇小黑人粗硬| 免费成人在线视频网站| 亚洲高清一二三区| 欧美专区18| 亚洲欧洲成人| 97在线视频一区| 久久久久久夜精品精品免费| 韩国精品主播一区二区在线观看 | 中文字幕欧美激情一区| 美女100%一区| 视频一区三区| 日韩三级免费观看| 伊人久久综合| 粉嫩tv在线播放| 69av视频在线播放| 中文字幕一区日韩精品欧美| 97色成人综合网站| 一区二区传媒有限公司| 亚洲天堂免费观看| 国产美女精品一区二区三区| 中文字幕在线直播| 丁香婷婷综合激情| 日韩中文字幕久久| 久久久久久亚洲综合| 99热这里只有精品首页 | 中国成人在线视频| 欧美成va人片在线观看| 日本伊人午夜精品| 波多野结依一区| 亚洲国产高清国产精品| 日韩久久久精品| 精品在线你懂的| 成人在线高清| 国模吧无码一区二区三区| 久久精品国产亚洲精品| 久久久久久99久久久精品网站| 日韩视频在线直播| 国产视频一二区| 91久久久在线| 欧美精选在线播放| 免费黄网站欧美| 亚州一区二区三区| 日韩激情一二三区| 国产激情欧美| 欧美成人精品午夜一区二区| 男人的天堂在线| 69堂免费视频| 欧美在线观看一区二区| 欧美体内she精视频在线观看| 日本在线免费| 正在播放精油久久| 久久综合国产精品台湾中文娱乐网| 国产精品热久久久久夜色精品三区| 日日狠狠久久偷偷综合色| 欧美偷拍视频| 亚洲欧洲国产精品久久| 久久偷看各类女兵18女厕嘘嘘 | 国产精品一区二区三区四区色| 精品无人区一区二区三区 |