34 lines
593 B
C++
34 lines
593 B
C++
#include "qpixmapdumper.h"
|
|
#include <cstdio>
|
|
#include <cstring>
|
|
|
|
QPixmapDumper::QPixmapDumper(std::string p, int c){
|
|
format="PNG";
|
|
prefix=p;
|
|
reset();
|
|
cycles=c;
|
|
}
|
|
|
|
void QPixmapDumper::reset(){
|
|
cycles=0;
|
|
frame=0;
|
|
counter=0;
|
|
}
|
|
|
|
#define filename_bufsize 1024
|
|
|
|
bool QPixmapDumper::dump(const QPixmap& pixmap){
|
|
bool processed=false;
|
|
if (!(counter%cycles)){
|
|
char buf[filename_bufsize];
|
|
sprintf(buf,"%s-%05d.%s",prefix.c_str(), frame, format.c_str());
|
|
QImage image=pixmap.convertToImage();
|
|
image.save(QString(buf), format.c_str(),0);
|
|
frame ++;
|
|
}
|
|
counter++;
|
|
return processed;
|
|
}
|
|
|
|
|