当前位置: 首页 > news >正文

如何做网站编辑百度指数查询官网

如何做网站编辑,百度指数查询官网,石家庄net网站开发,液压电机东莞网站建设目录 坐标变换 平移坐标轴 缩放坐标轴 旋转坐标轴 定时器加坐标轴旋转实现动画旋转 transform旋转#xff08;可设置旋转轴#xff09; 绕X轴旋转 绕Y轴旋转 绕Z轴旋转 错切 Y轴错切 X轴错切 画家的保存与坐标复原 基本图形绘制 绘制点 绘制线 绘制矩形 普…目录 坐标变换 平移坐标轴 缩放坐标轴 旋转坐标轴 定时器加坐标轴旋转实现动画旋转 transform旋转可设置旋转轴 绕X轴旋转 绕Y轴旋转 绕Z轴旋转 错切 Y轴错切 X轴错切 画家的保存与坐标复原 基本图形绘制 绘制点 绘制线 绘制矩形 普通矩形绘制 圆角矩形绘制 填充矩形绘制 绘制圆形 绘制弧、扇形、弦 绘制弧 绘制扇形 绘制弦 绘制折线 绘制多边形 绘制路径 基本路径绘制 填充规则 绘制贝塞尔曲线 二次贝塞尔曲线绘制 三次贝塞尔曲线绘制 绘制文字 静态文本绘制 普通文本绘制 字体相关函数 图片绘制 QPixmap 指定位置裁剪 透明绘制 瓦片图绘制 图像的保存 QImage QPicture QBitmap 碰撞检测 坐标变换 平移坐标轴 painter.translate(50,50); painter.drawPixmap(0,0, QPixmap(:/bk1.jpg).scaled(150,100)); 缩放坐标轴 painter.drawPixmap(0,0, QPixmap(:/bk1.jpg).scaled(100,100)); painter.scale(0.5,0.5); painter.drawPixmap(200,200, QPixmap(:/bk1.jpg).scaled(100,100)); 旋转坐标轴 painter.translate(width()/2 - 100,height()/2 - 100); painter.rotate(30); // 角度(默认以坐标原点旋转)正数顺时针负数逆时针 painter.drawPixmap(0,0, QPixmap(:/bk1.jpg).scaled(200,200)); 定时器加坐标轴旋转实现动画旋转 QTimer* timer new QTimer(this); timer-callOnTimeout(this, QOverload::of(QWidget::update)); timer-start(10);static int angle 0; painter.translate(width()/2 - 100,height()/2 - 100); painter.rotate(angle); painter.drawPixmap(0,0, QPixmap(:/bk1.jpg).scaled(200,200)); transform旋转可设置旋转轴 绕X轴旋转 QTimer* timer new QTimer(this); timer-callOnTimeout(this, QOverload::of(QWidget::update)); timer-start(10); // static int angle 0; QTransform transform; transform.rotate(angle, Qt::XAxis); // 绕X轴旋转 painter.setTransform(transform);painter.drawPixmap(0, 0 , QPixmap(:/bk1.jpg).scaled(200,200)); 绕Y轴旋转 QTimer* timer new QTimer(this); timer-callOnTimeout(this, QOverload::of(QWidget::update)); timer-start(10); // static int angle 0; QTransform transform; transform.rotate(angle, Qt::YAxis); // 绕Y轴旋转 painter.setTransform(transform);painter.drawPixmap(0, 0 , QPixmap(:/bk1.jpg).scaled(200,200)); 绕Z轴旋转 QTimer* timer new QTimer(this); timer-callOnTimeout(this, QOverload::of(QWidget::update)); timer-start(10); // static int angle 0; QTransform transform; transform.rotate(angle, Qt::ZAxis); // 绕Z轴旋转 painter.setTransform(transform);painter.drawPixmap(0, 0 , QPixmap(:/bk1.jpg).scaled(200,200)); 错切 Y轴错切 // y轴错切 painter.translate(width()/2 - 100, height()/2 -100); painter.shear(0, 0.5); // [-1, 1] painter.drawPixmap(0, 0 , QPixmap(:/bk1.jpg).scaled(200,200)); X轴错切 // x轴错切 painter.translate(width()/2 - 100, height()/2 -100); painter.shear(0.5, 0); // [-1, 1] painter.drawPixmap(0, 0 , QPixmap(:/bk1.jpg).scaled(200,200)); 画家的保存与坐标复原 painter.save(); // 画家状态保存 // 坐标变换 // 图形绘制 painter.restore(); // 画家状态复原 基本图形绘制 绘制点 painter.setPen(Qt::red); painter.drawPoint(50,50); // 绘制单个点 // 绘制多个点 QPoint points[] {{0,0},{1,1},{2,2},{3,3}}; painter-drawPoints(points, 4); // 绘制多个点 QPolygon polygon; for(int i 0; i 100; i) {polygon.append({i,i}); } painter.drawPoints(polygon); 绘制线 // 绘制一条线 painter.drawLine(0,0,100,100); // 绘制多条线 QListQLine lines {{0,0,100,100}, {100,100, 0,200}}; painter.drawLines(lines); 绘制矩形 普通矩形绘制 painter.drawRect(50,50,100,100); 圆角矩形绘制 // 最后一个参数为默认值此时第三第四个参数为具体的值 painter.drawRoundedRect(QRect(200,200,100,100), 50, 50,Qt::SizeMode::AbsoluteSize); // 此时第三第四个参数为百分比 [0,100] painter.drawRoundedRect(QRect(200,200,100,100), 50, 50,Qt::SizeMode::RelativeSize); 填充矩形绘制 painter.fillRect(50,50,100,100,QColor(255,0,255)); 绘制圆形 painter.drawEllipse(0,0,200,200); // 矩形区域绘制 painter.drawEllipse(QPoint(100,100),50,50); // 中心点两轴 绘制弧、扇形、弦 绘制弧 painter.drawRect(100,100,200,200); painter.setPen(Qt::red); painter.drawArc(QRect(100,100,200,200), 0, 16 * 90); 绘制扇形 painter.drawRect(100,100,200,200); painter.setPen(Qt::red); painter.drawPie(QRect(100,100,200,200), 0, 16 * 90); 绘制弦 painter.drawRect(100,100,200,200); painter.setPen(Qt::red); painter.drawChord(QRect(100,100,200,200), 0, 16 * 90); 绘制折线 QPolygon poly; poly QPoint(0, 0) QPoint(100,100) QPoint(200, 100); painter.drawPolyline(poly); QPoint pos[3] { QPoint(0, 0) , QPoint(100,100) , QPoint(200, 100)}; painter.drawPolyline(pos, 3); 绘制多边形 painter.setBrush(Qt::green); QPolygon poly {{0,0},{100,0},{100,100},{0,100},{200,0}}; painter.drawPolygon(poly); 绘制路径 基本路径绘制 painter.setBrush(Qt::green); QPainterPath path; path.lineTo(200,200); path.lineTo(0,200); path.moveTo(400,400); path.lineTo(width(),height()); painter.drawPath(path); 填充规则 painter.setBrush(Qt::green); QPainterPath path; path.addRect(QRect(0,0,200,200)); path.addRect(QRect(100,100,200,200)); path.setFillRule(Qt::FillRule::WindingFill); // 缠绕填充 //path.setFillRule(Qt::FillRule::OddEvenFill); // 奇偶填充 painter.drawPath(path); 绘制贝塞尔曲线 二次贝塞尔曲线绘制 // 二次贝塞尔曲线 QPainterPath path; path.moveTo(200,200); path.quadTo(QPoint(300,300), QPoint(400,200)); painter.drawPath(path); 三次贝塞尔曲线绘制 // 三次贝塞尔曲线 QPainterPath path; path.moveTo(0,0); path.cubicTo(QPoint(10,100), QPoint(300,500), QPoint(200,200)); painter.drawPath(path); 绘制文字 静态文本绘制 // 绘制坐标即为左上角坐标 painter.drawStaticText(QPoint(0,0), QStaticText(Hello World)); 普通文本绘制 注意 绘制文字是以左下角为原点绘制的 painter.setPen(Qt::red); painter.setFont(QFont(微软雅黑,28,QFont::Bold,true)); painter.drawText(0,50, QString(Hello World)); // 将绘制字体固定在矩形区域内 (会自动换行) painter.drawText(QRect(0,0,100,200), Hello World Hello World!); 字体相关函数 // 设置字体 painter-setFont(); // 获取字体 painter-font(); // 获取字体信息 painter-fontInfo(); // 获取字体数据 painter-fontMetrics(); 图片绘制 QPixmap 针对输出显示优化的图像绘制 指定位置裁剪 painter.drawPixmap(100, 100, QPixmap(mm.jpg).scaled(100,100)); painter.drawPixmap(QRect(0,0,100,100), // 绘制位置QPixmap(mm.jpg).scaled(100,100), // 图像QRect(50,50,50,50)); // 裁剪区域 drawPixmap(const QPoint point, const QPixmap pixmap, const QRect source) 透明绘制 分别准备一张原码图和一张掩码图 //掩码图和原图大小必须一致 //掩码图白色区域为透明黑色区域为绘制 painter.setRenderHint(QPainter::RenderHint::Antialiasing); QBitmap mask(mask.jpg); QPixmap pix QPixmap(snowball.jpg).scaled(mask.size()); pix.setMask(mask); painter.drawPixmap(0, 0,pix); 瓦片图绘制 // 函数原型 drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap pixmap, QPainter::PixmapFragmentHints hints PixmapFragmentHints()) QPainter::PixmapFragment pixFrag QPainter::PixmapFragment::create(QPointF(0,0), QRectF(0,0,100,100)); painter.drawPixmapFragments(pixFrag, 2, QPixmap(mm.jpg).scaled(100,100)); 图像的保存 m_pixmap QPixmap(640,480); QPainter painter(m_pixmap); painter.fillRect(m_pixmap.rect(),Qt::blue); // 保存图片 m_pixmap.save(hello.png); QImage 专门进行图像处理的 QImage m_img QImage(640,480,QImage::Format_RGBA8888); m_img.fill(Qt::transparent); QPainter painter(m_img); painter.fillRect(QRect(0,0,100,100), Qt::blue); m_img.save(img.png); QPicture Qt独有的图像格式 QPainter painter; painter.begin(pic); painter.drawEillipse(0,0,200,200); painter.end(); pic.save(pic.pic);// 绘制不能直接使用QPicture的构造函数加载文件 QPicture pict; pict.load(pic.pic); painter-drawPicture(0,0,pict); QBitmap 位图黑白图 QBitmap bitmap(mm.jpg); painter.drawImage(QRect(0, 0, 100, 100), bitmap.toImage()); 碰撞检测 // 碰撞检测 #include QApplication #include QWidget #include QPainter #include QStaticText #include QPainterPath #include QKeyEvent// 碰撞检测 class Sprite { public:Sprite() default;Sprite(int x,int y,int w,int h, const QPixmap pix):m_pos(x,y),m_size(w,h),m_pixmap(pix){}void draw(QPainter* painter){painter-drawPixmap(QRect(m_pos,m_size), m_pixmap);}void setPos(int x,int y){m_pos.rx() x;m_pos.ry() y;}void moveBy(int dx,int dy){m_pos.rx() dx;m_pos.ry() dy;}void updateCollider(){collider.clear();collider.addRect(QRect(m_pos, m_size));}void printPos(){qInfo() m_pos;} private:QPoint m_pos;QSize m_size;QPixmap m_pixmap; public:QPainterPath collider; // 碰撞器 };class Widget : public QWidget {Q_OBJECT public:Widget(QWidget* parent nullptr):QWidget(parent){resize(640,480);sp1 new Sprite(0,0,50,50,QPixmap(mm.jpg));sp2 new Sprite(100,0,50,50, QPixmap(snowball.jpg));}~Widget(){} protected:void paintEvent(QPaintEvent* ev) override{QPainter painter(this);sp1-draw(painter);sp2-draw(painter);}void keyPressEvent(QKeyEvent *ev) override{switch(ev-key()){case Qt::Key_Up:sp2-moveBy(0, -3);break;case Qt::Key_Down:sp2-moveBy(0, 3);break;case Qt::Key_Left:sp2-moveBy(-3, 0);break;case Qt::Key_Right:sp2-moveBy(3, 0);break;}if(sp1-collider.intersects(sp2-collider)){sp2-setPos(width() - 50, 0);}update();// 判断碰撞sp2-updateCollider();sp1-updateCollider();} private:Sprite* sp1 nullptr;Sprite* sp2 nullptr; };int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } #include main.moc
http://www.dnsts.com.cn/news/90252.html

相关文章:

  • 长沙优化网站推广东莞音乐制作公司
  • 申请域名后怎么建设网站开发工具在哪里 word
  • 陇南网站定制开发公司做网站卖衣服物流包年多少钱
  • 网站建设在哪里找客户网站开发技术架构
  • 金融网站如何做设计方案珠海市官网网站建设平台
  • 天津开发区网站设计公司wordpress 禁止目录浏览
  • 深圳专业软件网站建设iis7发布php网站
  • 微信网站制作公司哪家好外贸双语网站源码
  • 地区门户网站 建设攻略汽车网站排行榜前十名
  • 怎样把网站的背景图片wordpress数据库改密码忘记
  • 跨境网站wordpress分享到微信二维码
  • 网站开发分为几个方向wordpress主题 虎嗅网
  • 虚拟主机怎么弄网站广告投放推广平台
  • 买手表网站改图网在线制作图片
  • 做网站需要监事吗做网站话挣钱吗
  • 网站建设说课获奖视频企业应该找什么样的网站建设公司
  • 我要建立个人网站wordpress评论邮件
  • 宁波网站推广制作网站备案系统
  • 网站服务器中如何做重定向深圳设计公司办公室装修设计
  • dz做分类网站查询网站备案进度查询
  • 无锡seo网站排名优化网站热力图用ps怎么做
  • 织梦网站程序模板下载学做吃的网站
  • 网站建设哪家好采用苏州久远网络wordpress牛站
  • wordpress会员破解版广州seo推荐
  • 什么网站可以接设计方案国内免费自建网站
  • 网站cdn+自己做简约大气网站首页
  • ps ui做响应式网站要求网站建设桔子科技
  • 网站推广优化建设方案wordpress 加入引导页
  • 基本信息型网站有哪些360投放广告怎么收费
  • 一般可以建些什么种类的网站做网站公司 陕西渭南