色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

當(dāng)繪制具有尖角的字母形狀的輪廓時(shí),會出現(xiàn)奇怪的偽像.如何避開它們?

錢多多2年前9瀏覽0評論

我目前正在使用HTML5的畫布使用Impact字體渲染一個(gè)字符串。這樣做很好,但是筆畫似乎從整個(gè)文本區(qū)域溢出。有什么辦法可以解決這個(gè)問題嗎?

代碼和渲染可以在這里看到:http://jsfiddle.net/5uczpa1k/

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

ctx.font = "80px Impact";
ctx.strokeStyle = 'black';
ctx.lineWidth = 20;
ctx.fillStyle = 'white';
ctx.strokeText("A TEXT DEMO", 50, 150);
ctx.fillText("A TEXT DEMO", 50, 150);

<canvas id="myCanvas" width="500" height="500"></canvas>

嘗試添加一個(gè)miterLimit -它定義了用于繪制斜接的斜接(角)長度與描邊寬度之比的限制。超過限制時(shí),連接將從斜接轉(zhuǎn)換為斜角:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

ctx.font = "80px Impact";
ctx.strokeStyle = 'black';
ctx.lineWidth = 20;
ctx.fillStyle = 'white';
ctx.miterLimit = 2;
ctx.strokeText("A TEXT DEMO", 50, 150);
ctx.fillText("A TEXT DEMO", 50, 150);

<canvas id="myCanvas" width="500" height="500"></canvas>

描邊總是一半畫在里面,一半畫在外面,除非您自己進(jìn)行必要的計(jì)算來做一些不同的事情,并繪制兩個(gè)單獨(dú)的形狀,一個(gè)用于填充,一個(gè)用于輪廓。即使線寬是奇數(shù),也應(yīng)用默認(rèn)的對半方法,在這種情況下,瀏覽器將嘗試在兩個(gè)實(shí)際像素之間的中間位置繪制,從而導(dǎo)致模糊和顏色強(qiáng)度損失(除非通過應(yīng)用平移變換將畫布在兩個(gè)維度上移動(dòng)0.5像素)。這是一個(gè)更大的問題,當(dāng)半透明涉及。描邊后執(zhí)行不透明填充。因此,最終結(jié)果是你的大綱實(shí)際上變成了& quot外面& quot但其表觀寬度是規(guī)范中規(guī)定寬度的一半。