#include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include using namespace std; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); connect(ui->actionOdpri,SIGNAL(triggered()),this,SLOT(nalozi())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::nalozi(){ slika = new QImage(QFileDialog::getOpenFileName(this,tr("Open Image"), ".", tr("Image Files (*.png *.jpg *.bmp)"))); zrcalna = new QImage(*slika); crnobela = new QImage(*slika); zrcali(); crnobelo(); ui->label->setPixmap(QPixmap::fromImage(*slika)); ui->label_2->setPixmap(QPixmap::fromImage(*crnobela)); ui->label_3->setPixmap(QPixmap::fromImage(*zrcalna)); } /** * Uporabite naslednje metode: * QRgb pixel = slika->pixel(int i, int j); * int slika->width(); * int slika->height(); * zrcalna->setPixel(int i, int j, QRgb pixel); * * Spremenljivke: * slika - slika, ki jo naložite * zrcalna - zrcalna slika */ void MainWindow::zrcali(){ for (int i=0; i < slika->width(); i++ ) { for (int j=0; j < slika->height(); j++ ) { QRgb pixel = slika->pixel(i, j); zrcalna->setPixel(slika->width() - i, j, pixel); } } } /** * Uporabite naslednje metode: * QRgb pixel = slika->pixel(int i, int j); * int slika->width(); * int slika->height(); * QColor color(QRgb pixel); * int color.blue(); * int color.red(); * int color.green(); * void color.setBlue(int x); * void color.setRed(int x); * void color.setGreen(int x); * crnobela->setPixel(int i, int j, QRgb pixel); * QRgb qRgb(int red,int green,int blue); * * Spremenljivke: * slika - slika, ki jo naložite * crnobela - črno bela slika */ void MainWindow::crnobelo(){ for (int i=0; i < slika->width(); i++ ) { for (int j=0; j < slika->height(); j++ ) { QRgb pixel = slika->pixel(i, j); QColor color(pixel); int greyscale = (color.red() + color.green() + color.blue())/3; pixel = qRgb(greyscale,greyscale,greyscale); crnobela->setPixel(i, j, pixel); } } }