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

郑州疫情严重程度/适合seo的网站

郑州疫情严重程度,适合seo的网站,网页图片设计,国外被动收入网站做的好的1.使用QImage 和 QDebug进行像素操作非常耗费时间,尤其是QDebug //对像素进行操作(操作过程中可能会因为内存数据变化导致失败)//使用QImage进行像素操作,非常耗费时间导致队列中的数据不能及时删除,一直与程序卡死 //…

1.使用QImage 和 QDebug进行像素操作非常耗费时间,尤其是QDebug

             //对像素进行操作(操作过程中可能会因为内存数据变化导致失败)//使用QImage进行像素操作,非常耗费时间导致队列中的数据不能及时删除,一直与程序卡死
//             QPixmap pix0= QPixmap::fromImage(image24);
//             QImage image2=pix0.toImage();//             std::vector<int> rgbPt;
//             for(int y=0;y<image2.height();y++)
//             {
//                 QRgb *line=(QRgb*)image2.scanLine(y);
//                 for(int x=0;x<image2.width();x++)
//                 //for(int x=0;x<1;x++)
//                 {
//                     rgbPt.push_back(qRed(line[x]));
//                     rgbPt.push_back(qGreen(line[x]));
//                     rgbPt.push_back(qRed(line[x]));
//                     qDebug()<<QString::number(rgbPt.size());
//                 }
//             }
//             qDebug()<<QString::number(rgbPt.size());

2.注意指针的指针的赋值操作,和数值类型的正确使用,unsigned char的最大值是255

        //为什么不可以//QImage image24=QImage( pDlg->m_pBuffer[0],imgWidth,imgHeight,QImage::Format_Indexed8);//为什么不可以,因为unsigned char类型的数值最大是255;//QImage image24=QImage(imgWidth,imgHeight,QImage::Format_RGB888);//转化为RGB图像
//         for(unsigned char i=0;i<imgWidth;i++)
//         {
//             for(unsigned char j=0;j<imgHeight;j++)
//             {
//               int r=(int)(*(pDlg->m_pBuffer0+j*imgWidth+i));
//               int g=(int)(*(pDlg->m_pBuffer0+offSet+j*imgWidth+i));
//               int b=(int)(*(pDlg->m_pBuffer0+2*offSet+j*imgWidth+i));
//               qDebug()<<QString::number(r);
//                   //image24.setPixel(QPoint(i,j),qRgb(r,g,b));//             }//         }

3.图像缓冲区进行单个像素的内存拷贝
第一种方法:

     pDlg->m_pBuffer0 = new unsigned char[blockSize*imgPixSize];if (pDlg->m_pBuffer0 == NULL){qDebug()<<QString::fromLocal8Bit("分配内存空间不成功!");return ;}unsigned char** ptrAdress = (unsigned char**)ptrImgBuffer;for(long long i=0;i<imgHeight;i++){for(long long j=0;j<imgWidth;j++){memcpy( pDlg->m_pBuffer0 + (i * imgWidth + j) * 3,     ptrAdress[1] + i * imgWidth + j, 1);memcpy( pDlg->m_pBuffer0 + (i * imgWidth + j) * 3 + 1, ptrAdress[2] + i * imgWidth + j, 1);memcpy( pDlg->m_pBuffer0 + (i * imgWidth + j) * 3 + 2, ptrAdress[3] + i * imgWidth + j, 1);}}

第二种方法

         memcpy( pDlg->m_pBuffer0, ptrAdress[1], imgWidth * imgHeight);memcpy( pDlg->m_pBuffer0 + offSet, ptrAdress[2], imgWidth * imgHeight);memcpy( pDlg->m_pBuffer0 + offSet * 2, ptrAdress[3], imgWidth * imgHeight);unsigned char * ptrBuffer=new unsigned char[blockSize*imgPixSize];for(long long i=0;i<blockSize*imgPixSize;i++){if(i<blockSize){memcpy( ptrBuffer+i*3, pDlg->m_pBuffer0+i, 1);}else if(i>=blockSize && i<2*blockSize){memcpy( ptrBuffer+(i-blockSize)*3+1, pDlg->m_pBuffer0+i, 1);}else if(i>=2*blockSize && i<3*blockSize){memcpy( ptrBuffer+(i-2*blockSize)*3+2, pDlg->m_pBuffer0+i, 1);}//qDebug()<<QString::number(i);}QImage image24=QImage( ptrBuffer,imgWidth,imgHeight,QImage::Format_RGB888);pDlg->pixmapQueqe.enqueue(QPixmap::fromImage(image24));//存入缓冲队列if (ptrBuffer != NULL){delete[]ptrBuffer;ptrBuffer = NULL;}

4.使用指针传递时,一定要注意指针的作用域和时效,指向局部变量的指针地址会自动释放,导致地址传递不成功

    //QImage image;//局部变量,地址指针会释放//m_imageprocessthread->m_origin=&image;//作用域结束后,指针被释放,导致地址传递不成功m_image=new QImage();m_image->load("images/a.bmp");ui->lbl_originImg->setPixmap(QPixmap::fromImage(*m_image).scaled(ui->lbl_originImg->size()));//传入图像m_imageprocessthread->m_origin=m_image;

5.在局部函数中New的空间需要释放,不能指向局部变量的指针

QImage * CImgProcess::cool(int delta, QImage * origin){QImage *newImage = new QImage(origin->width(), origin->height(), QImage::Format_ARGB32);//QImage Image (origin->width(), origin->height(), QImage::Format_RGB888);//return &Image //会出错的,函数运行完后指针会被释放;同理新New的空间是需要手动释放的QColor oldColor;int r,g,b;for(int x=0; x<newImage->width(); x++){for(int y=0; y<newImage->height(); y++){oldColor = QColor(origin->pixel(x,y));r = oldColor.red();g = oldColor.green();b = oldColor.blue()+delta;//we check if the new value is between 0 and 255b = qBound(0, b, 255);newImage->setPixel(x,y, qRgb(r,g,b));}}return newImage;
}
http://www.jmfq.cn/news/5037319.html

相关文章:

  • 网站的滚动字幕怎么做/会员卡营销策划方案
  • 做h5哪个网站好/宜兴百度推广
  • 刚做的婚恋网站怎么推广/青岛seo精灵
  • 专业的培训行业网站开发/5118
  • 做商务网站要多少钱/百度关键词点击价格查询
  • 沧州 网站建设/国内快速建站
  • 个人主页制作/网站seo优化徐州百度网络
  • 设计类网站开发策划书/seo网站优化
  • 展示页网站怎么做排名/社群营销平台有哪些
  • 做网站的版权问题/网站赚钱
  • 有什么做节能报告的网站/网络营销网站建设
  • 个人网站展示/百度竞价点击神器奔奔
  • 营销型网站建设 合肥/电商网站入口
  • 东莞松山湖网站建设/百度域名注册官网
  • 新开三端互通传奇网站/网络推广公司怎么找客户
  • 深圳横岗网站建设/产品经理培训哪个机构好
  • 东莞疫情最新消息风险等级/关键词优化软件有哪些
  • wordpress section id/哈尔滨seo关键词优化
  • 如何拿模板做网站/谷歌seo排名技巧
  • 网页模板库/seo内部优化具体做什么
  • 昆明建网站电话/青岛招聘seo
  • 页面设计与制作专业/北京百度搜索优化
  • 正规网站建设定制/企业查询网站
  • 中职示范校建设验收网站/北京专门做seo
  • 网上做网站任务/网络推广的方法有
  • 自己做盗版小说网站吗/手机制作网站的软件
  • wordpress 建站 搜索/sem和seo的区别
  • 网站在线支付功能/二十条优化措施原文
  • 手机免费创建网站的软件/媒介星软文平台
  • wordpress tag 打不开/关键词整站优化