图形绘制VC ++

时间:2010-10-31 12:03:41

标签: winforms graph c++-cli drawing

我想知道,如何将坐标转换为表格的中心以绘制数学函数。 我已经在图形对象上尝试了 - > TranslateTransform(x,y),但这只能在四分之一的坐标中使用。我应该如何在表单上绘制数学函数?编程C ++很长,但WinForms和绘图是新的4我。

1 个答案:

答案 0 :(得分:0)

非常不清楚“四分之一坐标”可能意味着什么。要获得笛卡尔坐标系,其形式为中心0,0,负坐标映射到窗体或控件的左下角,则必须使用ScaleTransform()将Y轴和TranslateTransform()转换为将原点移动到中心。像这样:

protected:
    virtual void OnPaint(PaintEventArgs^ e) override {
        e->Graphics->ScaleTransform(1, -1);
        e->Graphics->TranslateTransform(this->ClientSize.Width / 2, -this->ClientSize.Height / 2);
        e->Graphics->DrawLine(Pens::Black, -20, -20, 20, 20);
        __super::OnPaint(e);
    }

这将从左下角到右上角绘制线条。