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

建站之星免费郑州seo外包顾问

建站之星免费,郑州seo外包顾问,网站建设费用是多少,淘宝店做网站建设不能开直通车由于项目需要&#xff0c;需生成一幅纯马赛克的图像作为背景&#xff0c;经过多次测试成功&#xff0c;记录下来。 方法一&#xff1a;未优化方法 1、代码&#xff1a; #include <QImage> #include <QDebug> #include <QElapsedTimer>QImage generateMosa…

由于项目需要,需生成一幅纯马赛克的图像作为背景,经过多次测试成功,记录下来。

方法一:未优化方法

1、代码:

#include <QImage>
#include <QDebug>
#include <QElapsedTimer>QImage generateMosaic(int width, int height, int blockSize) {QImage image(width, height, QImage::Format_RGB888);if (blockSize <= 0) {return QImage(); // 返回空图片或处理错误}// 确保blockSize是偶数,并且不会使图像尺寸变得太小blockSize = (blockSize % 2 == 0) ? blockSize : blockSize + 1;if (image.width() < blockSize || image.height() < blockSize) {return image; // 如果blockSize太大,直接返回原图}// 计算新图片的尺寸int newWidth = image.width() / blockSize * blockSize;int newHeight = image.height() / blockSize * blockSize;qDebug() << "newWidth = " << newWidth << ", newHeight = " << newHeight;//QImage newImage(newWidth, newHeight, image.format());// 遍历每个块for (int x = 0; x < newWidth; x += blockSize) {for (int y = 0; y < newHeight; y += blockSize) {// 计算块的平均颜色QColor averageColor = QColor(0, 0, 0); // 初始化平均颜色为黑色// 用平均颜色填充整个块if((y / blockSize) % 2 == 0) {if((x/blockSize) % 2 == 0) {averageColor = QColor(60,60,60);} else {averageColor = QColor(150,150,150);}} else {if((x/blockSize) % 2 == 0) {averageColor = QColor(150,150,150);} else {averageColor = QColor(60,60,60);}}for  (int bx = 0; bx < blockSize && x + bx < newWidth; ++bx) {for ( int by = 0; by < blockSize && y + by < newHeight; ++by) {image.setPixel(x+bx, y+by, qRgb(averageColor.red(), averageColor.blue(), averageColor.green()));}}}}return image;
}int main()
{QElapsedTimer elapsed_timer; elapsed_timer.start(); QImage mosicImage = generateMosaic(1280,960,40);qDebug() << "Used" << elapsed_timer.elapsed() << "milliseconds.";mosicImage.save("mosic.jpg");return 0;
}

2、效果:

运行结果

newWidth =  1280 , newHeight =  960
Used 19 milliseconds.

方法二:优化后方法

更优化的方法:

1、代码

#include <QImage>
#include <QDebug>
#include <QPainter>
#include <QElapsedTimer>QImage generateMosaic(int width, int height, QImage::Format format)
{QColor color_a(102, 102, 102); QColor color_b(128, 128, 128);QImage empty_image(width, height, format);empty_image.fill(color_a);QPainter empty_painter(&empty_image);int stride = 32;for (int i=0; i<empty_image.width(); i+=stride) {for (int j=0; j<empty_image.height(); j+=stride) {if ((i+j) % (2*stride) == 0) {empty_painter.fillRect(QRect(i, j, stride, stride), color_b);} else {empty_painter.fillRect(QRect(i, j, stride, stride), color_a);}}}return empty_image;
}int main()
{QElapsedTimer elapsed_timer; elapsed_timer.start(); QImage mosicImage = generateMosaic(1280,960,QImage::Format_RGB888);qDebug() << "Used" << elapsed_timer.elapsed() << "milliseconds.";mosicImage.save("mosic.jpg");return 0;
}

2、效果

运行效果

Used 4 milliseconds.

http://www.dinnco.com/news/84036.html

相关文章:

  • 网站设计主要包括哪些步骤潮州seo
  • asp商城网站源码下载市场营销策略有哪些
  • 乌鲁木齐网站制作dw网站制作
  • 上海建设和交通委网站济南网站优化培训
  • 大连旅顺樱花郑州seo外包费用
  • 网站开发游戏开发高级搜索引擎
  • 视频背景音乐怎么做mp3下载网站佛山营销型网站建设公司
  • 郑州市最新疫情发布会seo网站推广批发
  • web2.0网站开发分享推广
  • 做设计怎么进公司网站广州代运营公司有哪些
  • 厦门 网站建设企业邮箱淘宝店铺运营
  • 中型网站建设六盘水seo
  • 昆山企业网站制作公司seo做的比较好的公司
  • ssh jsp做网站广告代运营
  • 做律师网站的网络公司网站发布与推广方式
  • 2023网站推荐沈阳百度seo关键词排名优化软件
  • 网站备案的要求是上海宝山网站制作
  • 马蜂窝网络营销网站建设百度平台推广该怎么做
  • 建立官方网站上海最新发布最新
  • 最牛网站设计公司品牌策划推广方案
  • 做旅游网站的优势营销方式和渠道
  • 廊坊做网站价格百度网盘下载电脑版官方下载
  • 足球个人网站模板推广软文案例
  • 海淀石家庄网站建设关键词调价工具哪个好
  • 宁波住房城乡建设局网站seo推广平台
  • 400电话网络推广商城网站我是做推广的怎么找客户
  • 互联网 网站建设价格大学生网页制作成品模板
  • 南京市建设委员会网站福州seo外包公司
  • 桂林建设信息网站百度指数查询官网
  • 网站建设的不足嘉兴seo外包公司