forked from danielkucera/Mixer-gui
/
load.cpp
51 lines (34 loc) · 963 Bytes
/
load.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
46
47
48
49
50
51
#include "load.h"
#include "ui_load.h"
Load::Load(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Load)
{
ui->setupUi(this);
connect(ui->loadButton, SIGNAL(released()), this, SLOT(loadButton()));
}
Load::~Load()
{
delete ui;
}
void Load::Init(Buffer* buf)
{
buffer = buf;
}
void Load::loadButton(){
QString fileName = QFileDialog::getOpenFileName(this,
tr("Load image"), "",
tr("All Files (*)"));
loadImage(fileName,ui->numberSelect->value());
}
int Load::loadImage(QString fileName, int number){
QImage img(fileName);
if (img.isNull())
return -1;
QImage scaled = img.scaled(buffer->width,buffer->height);
QImage rgb = scaled.convertToFormat(QImage::Format_ARGB32);
fprintf(stderr,"leng %d %p\n", rgb.byteCount(),buffer->Open(number));
memcpy(buffer->Open(number),rgb.bits(),rgb.byteCount());
buffer->newFrame(number);
buffer->frame[number]=-1;
}