transparency
使用QT做的图片水波特效。 void MainWindow::paintEvent(QPaintEvent *event) { RippleSpread(); int iPosX = 0; int iPosY = 0; for(int y=1; y < this->height-1; y++) { for(int x=1; x < this->width-1; x++) { //根据波幅计算位图数据偏移值,渲染点(x,y)对应原始图片(iPosX,iPosY) iPosX = x + (buf2[y*width+x-1] - buf2[y*width+x+1]); iPosY = y + (buf2[y*width+x -width] - buf2[y*width+x +width]); if(0 <= iPosX && iPosX < width && 0 <= iPosY && iPosY < height) { //渲染位图,重新打点数据 this->waveImage.setPixel(x,y,this->backGroundImage.pixel(iPosX,iPosY)); } } } QPainter painter(this); painter.drawImage(this->waveImage.rect(),this->waveImage); }
- 1
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助