我想知道,如何将坐标转换为表格的中心以绘制数学函数。 我已经在图形对象上尝试了 - > TranslateTransform(x,y),但这只能在四分之一的坐标中使用。我应该如何在表单上绘制数学函数?编程C ++很长,但WinForms和绘图是新的4我。
答案 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);
}
这将从左下角到右上角绘制线条。