c++ canvas画图居中
时间: 2024-05-30 20:07:19 浏览: 256
在 C++ 中,画图通常需要使用第三方库来实现,比如 Qt、OpenGL 等。不同的库可能有不同的画图函数和方法,因此如何居中画图也可能有所不同。
如果你使用 Qt 库来画图,你可以使用 QWidget 中的 paintEvent 函数来重绘窗口,然后在该函数中使用 QPainter 对象进行画图。对于居中画图,你可以使用 QWidget 中的 geometry 函数来获取窗口大小,然后计算出居中的位置,最后在该位置绘制图形即可。
下面是一个简单的示例代码:
```
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
// 获取窗口大小
int w = geometry().width();
int h = geometry().height();
// 计算居中位置
int x = (w - 100) / 2;
int y = (h - 100) / 2;
// 绘制矩形
painter.drawRect(x, y, 100, 100);
}
```
这里假设要绘制一个宽高都为 100 的矩形,通过计算窗口大小和矩形大小来得到居中位置,并在该位置绘制矩形。你可以根据实际情况进行修改。
阅读全文