绘图设备包括:QPixmap,QImage,QPicture
特点:针对屏幕进行优化,和平台相关。不可以对图片修改。
使用方式:
//绘图设备,
QPixmap pixmap(600,800);
QPainter p(&pixmap);
p.drawPixmap(0,0,80,80,QPixmap("../image/1.jpg"));
//保存图片
pixmap.save("../pixmap.jpg");
特点:和平台无关,可以对图片修改(在线程里边绘图)。
使用方式:
QImage image(400,300,QImage::Format_ARGB32);
QPainter p;
p.begin(&image);
//绘图
p.drawImage(0,0,QImage("../image/1.jpg"));
//进行像素操作
for(int i=0;i<100;i++){
for(int j=0;j<100;j++){
image.setPixel(QPoint(i,j), qRgb(0,0,255));
}
}
p.end();
image.save("../image.jpg");
特点:保存绘图的状态(保存为二进制文件)。
使用方式:
QPicture picture;
QPainter p;
p.begin(&picture);
p.drawPixmap(0,0,80,80,QPixmap("../image/1.png"));
p.drawLine(50,50,150,50);
p.end();
picture.save("../picture.jpg");
效果:此处会显示无法以jpg形式打开,因为他是二进制文件。
QPainter p(this);
QPixmap pixmap;
pixmap.load("../image/1.png");
//QPixmap->>QImage
QImage image = pixmap.toImage();
p.drawImage(0,0,image);
QImage image1;
image1.load("../image/1.png");
//QImage->>QPixmap
QPixmap pixmap1=QPixmap::fromImage(image);
p.drawPixmap(100,0,pixmap);