-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFolderInterface.cpp
45 lines (38 loc) · 1.35 KB
/
FolderInterface.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "FolderInterface.h"
#include <QDir>
FolderInterface::FolderInterface()
{
outputFormat = "png";
}
void FolderInterface::setOutputFormat(char* newOutputFormat){
outputFormat = newOutputFormat;
}
QList<QImage> FolderInterface::loadTileList(QString source, int tileSize){
qDebug()<<"loading tiles from "<<source;
QList<QImage> output;
QSize outputSize(tileSize, tileSize);
QDir inputDir(source);
inputDir.setFilter(QDir::Files|QDir::Readable|QDir::NoDotAndDotDot); //nonchip says . and .. could be files. Sounds strange.
inputDir.setSorting(QDir::Name);
QStringList inputFileList = inputDir.entryList();
if(inputFileList.isEmpty())
return output;
for (int i = 0; i < inputFileList.size(); ++i) {
QString inputFile = inputFileList.at(i);
QImage inputImage;
inputImage.load(source+"/"+inputFile);
QImage outputImage = inputImage.scaled(outputSize);
output.append(outputImage);
}
return output;
}
void FolderInterface::saveTileList(QList<QImage> tl, QString destination){
qDebug()<<"saving tilelist";
QDir destinationFolder(destination);
if(!destinationFolder.isReadable())
return;
for(int i = 0; i < tl.size(); ++i){
QImage image = tl.at(i);
image.save(destination+"/"+QVariant(i).toString()+"."+outputFormat, outputFormat);
}
}