2017-02-26 13 views
1

최근에 skia 라이브러리 (Google 오픈 소스 2d 엔진, Android 및 크롬 등에서 사용됨)를 배우고 있습니다. 이제 GDI 대신 Windows에서 사용하고 싶습니다. 클립 영역에서 앤티 앨리어싱을 사용하여 클립 영역을 지원하지 마십시오. 그것은 픽셀에 관한 문제를 발견했습니다.skia antialias 정보

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 

보시다시피, 같은 RECT는, 경계 픽셀이 1이다 (I 설정 STROCK 폭 1)하지만, Antialias를 설정하면 경계 픽셀은 2이며 색상이 검정색으로 설정되어 있어도 비트 조명이됩니다.

왜 내가 누구에게 말할 수 있습니까?

thk,

답변

0

어쩌면 내가 할 수 있습니다.

Skia 라이브러리 캔버스는 Html5` 캔버스와 같아야합니다. 캔버스 모든 라인은 무한한 얇은 "라인"을 가지며, 중심선에서부터 스트레치까지의 선의 너비가 있으므로 실제로 1 픽셀 라인을 그릴 경우, 그것은 0.5 픽셀 포인트 중 두 가지를 채울 것이지만, 디스플레이 장치는 그렇게하지 못한다. 그래서 그것은 2 픽셀 포인트를 채울 것이고, 실제 2 픽셀을 구별하기 위해 색상을 더 밝게 설정한다.

더 많은 자료를 검색하여 증명할 것입니다.