绘制基本图形的类
QVectordrawPointsGray;//存储灰色的点 //...将所有要画灰色的点加入该数组中 painter.setPen(Qt::gray);//设置颜色 painter.drawPoints(drawPointsGray.data(), drawPointsGray.size());//测试
image.load("当前项目所在路径下的图片名");
QByteArray byteArray; QBuffer buffer(&byteArray); buffer.open(QIODevice::WriteOnly); image.save(&buffer, "PNG"); // 这里可以指定其他格式,如 "JPG"、"BMP" 等 buffer.close();
image.loadFromData(const char*);
label.pos();
label.width(); label.height();
//将图片按比例缩放 QImage image1 = image.scaled(this->width() * 比例系数, this->height() * 比例系数); //将缩放后的图片转换为QPixmap对象 QPixmap pixmap = QPixmap::fromImage(image1); //根据图像大小的变化,调整当前图像的尺寸 double width= this->pixmap()->width()-pixmap.width(); double height= this->pixmap()->height()-pixmap.height(); this->setGeometry(this->x()+width/2,this->y()+height/2,this->width()* 比例系数,this->height()* 比例系数); this->setPixmap(pixmap); //根据图像变化更新并设置物理参数 change_physics_resolution_x = physics_width /this->width();//现实场景宽度/图像宽度 change_physics_resolution_y = physics_height /this->height();//现实场景高度/图像高度 setPhysics( this->width(), this->height(), change_physics_resolution_x,change_physics_resolution_y); //更新图像上绘制的对象大小 graphics_view->setGeometry(0,0,this->width(),this->height()); triangle_view->setGeometry(0,0,this->width(),this->height());
用于绘制图形路径的类。它允许你定义一系列线条和曲线,然后可以在画布上绘制这些路径。
QPainterPath path; path.moveTo(src_point);//设置路径起始点 path.quadTo(curve.control_point_1, dst_point);//设置两个控制点 QPen pen(Qt::blue); pen.setWidth(4); // 设置线条宽度为5 QGraphicsPathItem* pathItem = scene_->addPath(path, pen);//将路径添加进入scene_ pathItem->setZValue(1);//将场景中的路径项设置为1