如何将画布的原点设置为左下角而不是左上角?
答案 0 :(得分:1)
虽然我不相信您可以更改原点,但可以使用画布的边界来获取所需的点。
void draw(SkCanvas* canvas) {
SkPaint p;
p.setColor(SK_ColorRED);
p.setAntiAlias(true);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(10);
SkRect bounds = canvas->getLocalClipBounds();
canvas->drawLine(bounds.fLeft + 200, bounds.fBottom - 20, bounds.fLeft + 100, bounds.fBottom - 100, p);
}
答案 1 :(得分:1)
您可以从画布中获取高度和宽度,然后减去它,我们可以使图形看起来像原点更改为左下角。
尝试此代码
void draw(SkCanvas* canvas) {
SkPaint p;
p.setColor(SK_ColorRED);
p.setAntiAlias(true);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(10);
canvas->drawLine(200, canvas->getDeviceClipBounds().height()-20, 100, canvas->getDeviceClipBounds().height()-100, p);
}