// 读图片
QImageReader reader(fileName);
reader.setAutoTransform(true);
const QImage newImage = reader.read();
if (newImage.isNull()) {
return false;
}
// 写图片
QImageWriter writer(fileName);
if (!writer.write(image)) {
return false;
}
// 显示图片
if (image.colorSpace().isValid())
image.convertToColorSpace(QColorSpace::SRgb);
imageLabel->setPixmap(QPixmap::fromImage(image));
// 打印图片
QPainter painter(&printer);
QRect rect = painter.viewport();
QSize size = imageLabel->pixmap()->size();
size.scale(rect.size(), Qt::KeepAspectRatio);
painter.setViewport(rect.x(), rect.y(), size.width(), size.height());
painter.setWindow(imageLabel->pixmap()->rect());
painter.drawPixmap(0, 0, *imageLabel->pixmap());
// 复制
void copy()
{
QGuiApplication::clipboard()->setImage(image);
}
// 粘贴
void paste()
{
const QImage newImage = clipboardImage();
}
// 缩放
void zoomOut(double factor)
{
Q_ASSERT(imageLabel->pixmap());
imageLabel->resize(factor * imageLabel->pixmap()->size());
}