2017-04-21 27 views
0

私はそのコードを持っており、コンピュータから画像をインポートして600x600に拡大したいと考えています。あなたはそれをどうやって手助けすることができますか?インポートした画像をインポートして拡大/縮小する方法は?

QStringList nameFile = QFileDialog::getOpenFileNames(this,tr("Open file"),"C:\\",tr("JPG/PNG files (*.jpg; *.png);;All files (*.*)")); 
if(!nameFile.isEmpty()) 
{ 
    for (int i=0;i<nameFile.count();i++) 
    { 
     string path = nameFile.at(i).toStdString();; 
     ui->listImages->addItem(nameFile.at(i)); 
     temp = new QImage(600,600,QImage::Format_RGB32); 
     temp -> load(QString().fromStdString(path)); 
     pic.push_back(temp); 
    } 
} 

答えて

0

このコードを試してください。 これは私のために働いています。

//CREATE AN IMAGE OBJECT 
QImage *img = new QImage(); 

//LOAD THE SOURCE IMAGE 
bool value = img->load(QString("C:\\Users\\XXXXXX\\Desktop\\test.png")); 

//SCALE THE IMAGE 
QImage newImage = img->scaled(600, 600); 

//USE IT 
newImage.save("C:\\Users\\XXXXXX\\Desktop\\test1234.png"); 

私はいくつかの変数のためにあなたのコード内の型を知らないので、以下に示すように、およそあなたのコードによって は(....あなたが世話をする必要があり多くのことを非常にラフ)に見えるかもしれ

QStringList nameFile = QFileDialog::getOpenFileNames(this,tr("Open file"),"C:\\",tr("JPG/PNG files (*.jpg; *.png);;All files (*.*)")); 
if(!nameFile.isEmpty()) 
{ 
    for (int i=0;i<nameFile.count();i++) 
    { 
     QString path = nameFile.at(i); 
     ui->listImages->addItem(nameFile.at(i)); 


     //Do IT HERE 
     QImage img; 
     bool value = img.load(path); 
     QImage newImage = img.scaled(600, 600); 


     pic.push_back(newImage); 
    } 
} 
+0

これは機能しています。どうもありがとう! – IneedYOURhelp

+0

偉大な...あなたを助けてうれしい.. – Naidu

-2

、完全に制御するために、他のQImage::scaledToWidth簡単に乗るためにQImage:transformedを見てみましょう。

関連する問題