2017-02-26 685 views
1

最近我在學習Skia的圖書館(谷歌開源的2D引擎,可以在Android和鉻等使用。),現在我想在使用它在Windows,而不是與反鋸齒GDI +不支持剪輯區域,它,我發現一個關於像素的問題。關於Skia的抗鋸齒

up is set antialias,down is not set antialias

主代碼是:

paint.setStrokeWidth(1); 
paint.setStyle(SkPaint::kStroke_Style); 
paint.setAntiAlias(true); 
canvas.drawRect(skrect,paint); //draw up rect 

skrect.fTop += 110; 
skrect.fBottom += 110; 

paint.setAntiAlias(false); 
canvas.drawRect(skrect, paint); //draw down rect 

正如所看到的,相同的矩形,如果我沒有設置消除鋸齒,所述邊界像素是1(I設置撫摩寬度爲1),但如果我設置了Antialias,邊界像素是2,並且它變得有點亮,但我設置的顏色是黑色。

我不konw爲什麼,誰能告訴我?

thk,

回答

0

現在,也許我konw。

skia庫的畫布應該像Html5的畫布一樣,畫布的每一行都有一條無限薄的「線條」,從中心線的寬度線伸展,所以如果我們畫一條1px的線,它將填補0.5像素點的兩個,而是在顯示裝置不允許它這樣做,所以它將填補2像素點,並將其設置顏色更多的光來區分真實2個像素。

我將尋找更多的材料來證明這一點。