SKIA8 2.3 Canvas Drawable, DRRect 아래 모양을 렌더링 해보자. struct MyDrawable : public SkDrawable { SkRect onGetBounds() override { return SkRect::MakeWH(50, 100); } void onDraw(SkCanvas* canvas) override { SkPath path; path.conicTo(10, 90, 50, 90, 0.9f); SkPaint paint; paint.setColor(SK_ColorBLUE); canvas->drawRect(path.getBounds(), paint); paint.setAntiAlias(true); paint.setColor(SK_Color.. 2025. 5. 5. 2.1.1 Canvas Clip Rect & Region 1. 아래 모양을 렌더링 해보자.void draw(SkCanvas* canvas) { SkPaint paint; for (SkClipOp op: { SkClipOp::kIntersect, SkClipOp::kDifference } ) { canvas->save(); canvas->clipRect(SkRect::MakeWH(90, 120), op, false); canvas->drawCircle(100, 100, 60, paint); canvas->restore(); canvas->translate(80, 0); }}kIntersect (교집합) : 초록색 부분우측으로 80만큼 이동한 뒤kDifference (차집합) : 빨간.. 2025. 5. 2. 2.1.0 Canvas Clip Path 1. ClipRect void draw(SkCanvas* canvas) { canvas->save(); canvas->clipRect(SkRect::MakeWH(256, 128)); canvas->clear(SkColorSetARGB(0x80, 0xFF, 0x00, 0x00)); canvas->restore(); canvas->save(); canvas->clipRect(SkRect::MakeWH(150, 192)); canvas->clear(SkColorSetARGB(0x80, 0x00, 0xFF, 0x00)); canvas->restore(); canvas->clipRect(SkRect::MakeWH(75, 256)); canvas->clear(S.. 2025. 4. 30. 1. SkCanvas Overview ㅅㅂ 널정복git clone https://skia.googlesource.com/skia.git# fetch skiacd skiapython3 tools/git-sync-depspython3 bin/fetch-ninjabin/gn gen out/Debugtools/install_dependencies.sh 빌드를 해보자.ninja -C out/Debug skiagn gen out/Static --args='is_component_build=false'# 이렇게 해줘야 static 빌드가 되네ninja -C out/Static -v 1. 별 렌더링void draw(SkCanvas* canvas) { const SkScalar scale = 256.0f; const SkScalar R = 0.. 2025. 4. 29. 이전 1 2 다음