(_pinPoint1, 5,5); painter->drawEllipse(_pinPoint2, 5,5); painter->setPen(QPen(QBrush(Qt::gray (-4,-5,10,10); painter->drawEllipse(PinPoint,5,5); painter->drawEllipse(_pinPoint1,5,5); painter->drawEllipse(_pinPoint2,5,5); painter->setPen(QPen(QBrush(Qt::gray), 6)); QPointF p( (-5,-5, 10, 10); painter->drawEllipse(PinPoint,5,5); painter->drawEllipse(_pinPoint1,5,5); painter->drawEllipse(_pinPoint2,5,5); painter->drawEllipse(_pinPoint3,5,5); painter->setPen(
窗口纵坐标、所绘制矩形的宽、所绘制矩形的高 painter.drawRect(20,20,200,50); (3)圆形 //从左到右参数依次是圆心坐标,离圆心的x距离,离圆心的y距离 painter.drawEllipse (QPoint(100,100),100,100); //移动画家位置,此时(200,0)就是下个圆的(0,0)基点 painter.translate(200,0); painter.drawEllipse (QPoint(100,100),100,100); (2)保存、加载画家的状态 save函数保存画家状态 restore函数还原画家状态 比如上面的程序可以稍加改造 painter.drawEllipse (QPoint(100,100),100,100); painter.translate(200,0); //保存状态 painter.save(); painter.drawEllipse(QPoint (100,100),100,100); painter.translate(200,0); //恢复状态 painter.restore(); painter.drawEllipse(QPoint(100,100
#绘制事件 painter.setPen(Qt.NoPen) painter.setBrush(QBrush(self.color)) painter.drawEllipse #根据DOL 决定要不要 绘制 眼镜,眼珠和鼻孔 painter.setBrush(QBrush(Qt.yellow)) painter.drawEllipse ))> 0.8: # Inner eyes painter.setBrush(QBrush(Qt.darkBlue)) painter.drawEllipse 0.9: # Nostrils painter.setBrush(QBrush(Qt.white)) painter.drawEllipse (-27, -5, 2, 2)#画鼻孔 painter.drawEllipse(-27, 3, 2, 2) def advance(self, phase
*/ painter.translate(width / 2, height/2); /* 画白色圆环 */ painter.drawEllipse(-(width - painter.pen().width QColor("#333333"), 1)); else painter.setPen(Qt::NoPen); painter.setBrush(QBrush(color)); painter.drawEllipse Antialiasing, true); painter.setPen(Qt::NoPen); painter.setBrush(QBrush(color)); /* 画头部圆 */ painter.drawEllipse height, height); /* 画矩形 */ painter.drawRect(height/2, 0, width - height, height); /* 画尾部圆 */ painter.drawEllipse
//绘制圆形眼睛 int eyeSize = 14; int eyeY = -38; painter.setBrush(eyeColor); painter.drawEllipse (-16, eyeY, eyeSize, eyeSize); painter.drawEllipse(2, eyeY, eyeSize, eyeSize); //绘制两个眼珠 int eyeballSize = 8; int eyeballY = -38; painter.setBrush(eyeballColor); painter.drawEllipse (-14, eyeballY, eyeballSize, eyeballSize); painter.drawEllipse(6, eyeballY, eyeballSize, eyeballSize (-27, earY, earSize, earSize); painter.drawEllipse(1, earY, earSize, earSize); //绘制尾巴 int
(20,20,50,50)); // 画文字 painter.drawText(QRect(10,200,200,50),"好好学习,天天吃饭");}高级设置抗锯齿 painter.drawEllipse ///////// 高级的设置 /////////////////////////// QPainter painter(this); // this指定的是绘图设备// painter.drawEllipse 100,100),50,50);// // 设置抗锯齿能力,效率低// painter.setRenderHint(QPainter::Antialiasing);// painter.drawEllipse pix(300,300); // 声明画家 QPainter painter(&pix); painter.setPen(QPen(Qt::green)); painter.drawEllipse gray); // 声明画家,画家在 img 中画 QPainter painter(&img); painter.setPen(QPen(Qt::red)); painter.drawEllipse
(side / 200.0, side / 200.0) painter.setPen(QtGui.QColor(0, 0, 0)) painter.drawEllipse 参数是外接矩形左上点和长宽 #painter.drawEllipse(-10,-10,20,20) painter.setPen(AnalogClock.hourColor AnalogClock.secondHand) painter.restore() painter.setPen(QtGui.QColor(0, 0, 0)) painter.drawEllipse
30,30,300,300); // paint->drawRect(100,100,100,100); // paint->setPen((QColor(255,0,0))); // paint->drawEllipse //画刷是用来填充轮廓的 my_paint.setRenderHint(QPainter::Antialiasing); //反走样 my_paint.drawEllipse //画笔是用来画轮廓的 my_paint.setBrush(Qt::green); //画刷是用来填充轮廓的 my_paint.drawEllipse
在这个逻辑里面耦合了业务逻辑,业务逻辑本身的耗时将会让 SharpDx 的收集绘制指令的性能降低 _renderTarget.BeginDraw(); // 执行耗时的业务代码 _renderTarget.DrawEllipse renderTarget.BeginDraw(); for (int i = 0; i < 1000000; i++) { var ellipse = GetEllipse(i); _renderTarget.DrawEllipse var ellipse = GetEllipse(i); if (IsVisible(ellipse)) { _renderTarget.DrawEllipse
2.3 绘制圆形 / 椭圆(drawEllipse) drawEllipse方法可以绘制椭圆,当椭圆的长半轴和短半轴相等时,就变成了圆形。 绘制第一个圆:中心点(100,200) painter.drawEllipse(QPoint(100, 200), 50, 50); // 2. 绘制第一个圆(默认状态) painter.drawEllipse(QPoint(100, 200), 50, 50); // 2. 绘制第二个圆(平移后的位置) painter.drawEllipse(QPoint(100, 200), 50, 50); // 4. 绘制圆形:中心点(100,100),半径100px painter.drawEllipse(QPoint(100, 100), 100, 100); // 5.
namespace std; using namespace cv; void drawLine(Mat &image); void drawRectangle(Mat& image); void drawEllipse main() { Mat MyBG = imread("C:/Users/zhou_/Desktop/1.png"); drawLine(MyBG); drawRectangle(MyBG); drawEllipse rectangle(image, rect, color, 1, LINE_AA); } void drawEllipse(Mat& image) { Scalar color = Scalar(0
绘制圆形 void QPainter::drawEllipse(const QPoint ¢er, int rx, int ry) 参数: center:中⼼点坐标 rx:横坐标 ry:纵坐标 【案例】:和上面类似,如下: // 画圆形. painter.drawEllipse(200, 200, 400, 100); 运行程序,如下: 4. 设置线条的风格 pen.setStyle(Qt::DashLine); // 让 painter 对象应用 pen 对象 painter.setPen(pen); // 画圆形. painter.drawEllipse 【案例】: 代码如下: void Widget::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.drawEllipse (QPoint(100, 200), 50, 50); painter.translate(100, 100); // 让画家移动 painter.drawEllipse(QPoint
float y = (h - size)/2; painter.setBrush(QBrush(m_color)); painter.drawEllipse float y1 = (h - size * 0.9)/2; painter.setBrush(QBrush("white")); painter.drawEllipse float y2 = (h - size * 0.8)/2; painter.setBrush(QBrush(m_color)); /* 画圆形 */ painter.drawEllipse
Radial.setColorAt(1,Qt::green); painter.setPen(Qt::transparent); painter.setBrush(Radial); painter.drawEllipse Radial.setColorAt(1,Qt::green); painter.setPen(Qt::transparent); painter.setBrush(Radial); painter.drawEllipse Conical.setColorAt(1,Qt::green); painter.setPen(Qt::transparent); painter.setBrush(Conical); painter.drawEllipse
最后使用drawEllipse方法画圆。 2. 核心代码 绘制单个甜甜圈代码。 linearGradient), width)); painter.translate(painter.pen().width()/2, painter.pen().width()/2); painter.drawEllipse
borderGradient.setColorAt(1, borderOutColorEnd); painter->setBrush(borderGradient); painter->drawEllipse borderGradient.setColorAt(1, borderInColorEnd); painter->setBrush(borderGradient); painter->drawEllipse ; painter->save(); painter->setPen(Qt::NoPen); painter->setBrush(bgColor); painter->drawEllipse
painter.restore(); painter.save(); painter.setBrush(Qt::white); painter.drawEllipse painter.restore(); //按钮 painter.save(); painter.setBrush(Qt::white); painter.drawEllipse 绘制矩形:paint->drawRect(20,20,160,160); 第1、2个参数制定矩形的左上角起点,第3个参数制定矩形的长度,第4个参数指定矩形的宽度 绘制圆和椭圆:paint->drawEllipse
painter.restore(); painter.save(); painter.setBrush(Qt::white); painter.drawEllipse painter.restore(); //按钮 painter.save(); painter.setBrush(Qt::white); painter.drawEllipse 绘制矩形:paint->drawRect(20,20,160,160); 第1、2个参数制定矩形的左上角起点,第3个参数制定矩形的长度,第4个参数指定矩形的宽度 绘制圆和椭圆:paint->drawEllipse
} 结果显示: 8.6.绘图高级设置 将上面注释 将图像进行移动,调色,抗锯齿处理等 在w.cpp中添加代码: QPainter painter(this); painter.drawEllipse 100,50),50,50); //设置抗锯齿 painter.setRenderHint(QPainter::Antialiasing); painter.drawEllipse Qt::white); //声明画家 QPainter painter(&pix); painter.setPen(QPen(Qt::green)); painter.drawEllipse (Qt::white); //声明画家 QPainter painter(&img); painter.setPen(QPen(Qt::blue)); painter.drawEllipse QPainter painter; painter.begin(&pic);//开始往pic上画 painter.setPen(QPen(Qt::cyan)); painter.drawEllipse
); lineGradient.setColorAt(1, crownColorEnd); painter->setBrush(lineGradient); painter->drawEllipse lightColor); lineGradient.setColorAt(1, darkColor); painter->setBrush(lineGradient); painter->drawEllipse darkColor); lineGradient.setColorAt(1, lightColor); painter->setBrush(lineGradient); painter->drawEllipse lightColor); lineGradient.setColorAt(1, darkColor); painter->setBrush(lineGradient); painter->drawEllipse ; lineGradient.setColorAt(1, centerColorEnd); painter->setBrush(lineGradient); painter->drawEllipse