Qt 制作透明背景图片与裁剪图片(很实用)
2017-07-21 23:35
477 查看
这两天想做一个五子棋游戏,想从零开始自己绘制各种图片素材,将经验心得整理如下。
制作透明背景图片:
首先创建一个颜色模式为ARGB32的QImage对象。创建完成后不要直接绘图,否则会在图片上产生由内存中的辣鸡数据引入的花点。解决方法是将QImage的RAW data 全部重写为0x00。
重写后再绘图,就是一张除了画出来的图形之外其他的区域全是透明的的图片了,最后执行save函数保存。
对图片的裁剪更为简单,直接调用QImage::copy()函数创建裁剪后的对象即可。
http://blog.csdn.net/qq_19672579/article/details/51050367
制作透明背景图片:
void MyPainter::DrawKit() { QImage image(30, 30, QImage::Format_ARGB32); memset(image.bits(), 0x00, image.byteCount()); // 绘制图片 QPainter painter(&image); painter.setPen(QPen(Qt::red, 2, Qt::SolidLine)); painter.translate(15, 15); painter.drawLine(0-15, 0-15, 0-8, 0-15); painter.drawLine(0+15, 0-15, 0+8, 0-15); painter.drawLine(0-15, 0+15, 0-8, 0+15); painter.drawLine(0+15, 0+15, 0+8, 0+15); painter.drawLine(0-15, 0-15, 0-15, 0-8); painter.drawLine(0+15, 0-15, 0+15, 0-8); painter.drawLine(0-15, 0+15, 0-15, 0+8); painter.drawLine(0+15, 0+15, 0+15, 0+8); qDebug() << image.save("C:/Users/Mactarvish/Desktop/test2.png", "PNG"); }
首先创建一个颜色模式为ARGB32的QImage对象。创建完成后不要直接绘图,否则会在图片上产生由内存中的辣鸡数据引入的花点。解决方法是将QImage的RAW data 全部重写为0x00。
重写后再绘图,就是一张除了画出来的图形之外其他的区域全是透明的的图片了,最后执行save函数保存。
对图片的裁剪更为简单,直接调用QImage::copy()函数创建裁剪后的对象即可。
void MyPainter::CropImage() { QImage image("C:/Users/Mactarvish/Desktop/myPicture_v1.png"); QImage newImage = image.copy(90, 90, image.width()-90, image.height()-90); qDebug() << newImage.save("C:/Users/Mactarvish/Desktop/CropedImage.png"); }
http://blog.csdn.net/qq_19672579/article/details/51050367
相关文章推荐
- Qt 制作透明背景图片与裁剪图片
- Qt制作透明背景图片与裁剪图片
- 用PS来制作背景透明的图片
- 如何制作透明背景的图片
- thinkphp裁剪png图片背景不透明
- ps修改gif图片背景透明及如何制作gif图片(图文记录)
- iOS开发,图片制作水印,图片裁剪,图片条纹背景,图片截图,以及将图片成文件存储。基于Quartz2D技术
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- 用Fireworks制作背景透明GIF图片
- Photoshop制作Android UI: 如何将图片背景变为透明
- 使用mac OS自带预览功能制作透明背景的PNG图片
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- Photoshop制作Android UI: 怎样将图片背景变为透明
- 用PhotoShop制作透明背景图片
- 制作透明背景图片,按钮
- 使用透明flash+背景图片制作绚丽页面
- 用photoshop如何制作背景透明的图片
- ps 制作背景透明 图片
- Java裁剪压缩PNG图片,透明背景色变黑问题解决
- ps制作玻璃效果(整体透明且上为白色半透明下为无色透明)的PNG格式背景图片