MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QImage img;
if(!img.load("C://Users//Administrator//Pictures//test.jpg")){
return;
}
int pWidth = img.width();
int pHeight = img.height();
qDebug("读取成功%d, %d" , pWidth, pHeight);
QImage pimg = img.copy(0, 0, pWidth / 2, pHeight / 2);
pimg.save("C://Users//Administrator//Pictures//temp//test2.jpg");
}
- 将图片读入内存中之后(char*,windth, high),然后将char*保存为另一张图片
QImage img;
if(!img.load("C://Users//Administrator//Pictures//test.jpg")){
return;
}
const uchar * data24 = img.bits();
QImage timg = QImage(data24, img.width(), img.height(), img.bytesPerLine(), QImage::Format_ARGB32);
image.save("C://Users//Administrator//Pictures//ddddd.jpg");
QImage image;
QByteArray pData;
QFile *file=new QFile("C://Users//Administrator//Pictures//test.jpg");
file->open(QIODevice::ReadOnly);
pData=file->readAll();
image.loadFromData(pData);
图片与QByteArray的相互转换
QImage img;
if(!img.load("C://Users//Administrator//Pictures//test.jpg")){
return;
}
QByteArray ByteArray;
QBuffer buffer(&ByteArray);
buffer.open(QIODevice::WriteOnly);
bool bOk = img.save(&buffer ,"jpg", 20);
qDebug("*****:%d", bOk);
QImage timg;
timg = timg.fromData(reinterpret_cast<const uchar *>(ByteArray.constData()), ByteArray.size());
timg.loadFromData(ByteArray);
timg.loadFromData(reinterpret_cast<const uchar *>(ByteArray.constData()), ByteArray.size());