Obrazki w C++


(Doniula) #1

Potrzebuję na gwałt kodu do wklejenia obrazka do C++. Nie mam pojęcia jak taka instrukcja miałaby wyglądać. Błagam o pomoc. Obrazek zapisany na dysku, potrzebuję instrukcji do wklejenia go do programu.

Pozdrawiam i z góry dziękuję.


(Fiołek) #2

Otwórz w notatniku, skopiuj i wklej do kodu C++. Ot cała filozofia...

Po pierwsze: na forum nie rozwiązujemy zadań.

Po drugie: Tego się NIE DA zrobić.

Po trzecie: Zastanów się co piszesz...


(Doniula) #3

Po pierwsze: Po to chyba takie fora istnieją?

po drugie: DA się zrobić.

po trzecie: To lepiej Ty się zastanów. Nie możesz pomóc, to nie pisz.

Jesteś śmieszny twierdząc, że otwierając obrazek w notatniku i skopiując jego kod źródłowy do C++ to będzie działać.


(Fiołek) #4

To była ironia...

Ad. 1: Przeczytaj regulamin*

Ad. 2: Nie da się. Jeśli umiesz programować to wiesz, że tego się "od tak" nie da zrobić. Musimy wiedzieć w jakim systemie piszesz, jakiego API używasz.

Ad. 3: Nie był bym taki pewien...

* - Do moderacji: Nie bawię się w moderatora, tylko próbuje nakierować koleżankę Dominikę7 , na dobry tok myślenia.


(Sawyer47) #5

Hmm no więc Dominiko... posługując się tak okropnymi skrótami myślowymi możesz spotkać się z nierozumieniem. Powiedz co chcesz zrobić i w czym masz problem w sposób trochę bardziej jasny. Chcesz znać jakąś bibliotekę do obsługi grafiki, czy może chcesz tylko wyświetlić obrazek?


(Dudek95) #6

Po pierwsze, jeżeli da się to zrobić, to powiedz jak jeżeli tak dużo wiesz...

Po drugie sądzę, że w jego wypowiedzi nie było nic złego, a jeżeli ty tak zamierzasz zwracać się do innych, to nie licz na pomoc.

W konsoli nie da się tego zrobić. Do tego trzeba albo WinApi, albo DirectX.


(Sawyer47) #7

Chciałbym podziękować Dominika7 , dzięki jej postowi miałem okazję przypomnieć sobie Qt pod C++ :slight_smile:

Napisałem szybko aplikację, która wyświetla zadany obrazek. Oto kod, może komuś się przyda:

main.cpp

#include 

#include "mainform.h"


int main(int argc, char *argv[])

{

	QApplication app(argc, argv);

	MainForm window;

	window.resize(640, 480);

	window.show();

	return app.exec();

}

mainform.h

#include 


class MainForm: public QMainWindow

{

	Q_OBJECT

 public:

	MainForm(QWidget * parent = 0, Qt::WFlags f = 0 );

	~MainForm(){};

 private slots:

	void loadImage();


 private:

	QPushButton* pushButton;

	QGraphicsScene* scene;

	QGraphicsView* view;

	QGraphicsPixmapItem* pixmapItem;

	QPixmap* pixmap;

	QGridLayout* layout;

	QLabel* label;

};

mainform.cpp

#include "mainform.h"

#include 


MainForm::MainForm(QWidget * parent, Qt::WFlags f) : QMainWindow(parent, f)

{

	QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));


	pushButton = new QPushButton(tr("Choose Image..."));

	scene = new QGraphicsScene();

	view = new QGraphicsView(scene);

	pixmap = new QPixmap();

	pixmapItem = scene->addPixmap(*pixmap);


	label = new QLabel(tr("No Image"));


	layout = new QGridLayout();

	layout->addWidget(view, 0, 0, 1, 2);

	layout->addWidget(pushButton, 1, 0);

	layout->addWidget(label, 1, 1);


	QWidget* cwidget = new QWidget();

	cwidget->setLayout(layout);

	setCentralWidget(cwidget);


	connect(pushButton, SIGNAL(clicked()), this, SLOT(loadImage()));

}


void MainForm::loadImage()

{

	QString fileName =

		QFileDialog::getOpenFileName(this, tr("Open Image"), QDir::homePath(), tr("Image Files (*.png *.jpg *.bmp)"));

	pixmap->load(fileName);

	pixmapItem->setPixmap(*pixmap);

	label->setText(fileName);

}

(Fiołek) #8

I jak ludzie mają się nauczyć programować, jeśli dostają gotowy kod na zawołanie...


(Sawyer47) #9

Nie wszyscy muszą chcieć umieć programować. Poza tym, żeby wykorzystać (chociażby skompilować) ten kod jakaś wiedza jest potrzebna. Z terminologii używanej przez Dominikę7 wnioskuję, że raczej nie będzie potrafiła wykorzystać tego kodu. Ale skoro tak się go domagała, czemu jej nie 'pomóc'? :slight_smile: Może komuś, kto kiedyś będzie szukał czegoś związanego z obrazkami w C++ (tak, szukał, a nie pisał bezmyślnie nowy temat) ten kod się przyda?


(Dudek95) #10

a potem szpanują na uczelni :]


(Doniula) #11

Dziękuję.


(somekind) #12

A potem pójdą do roboty, okaże się, co (nie)potrafią naprawdę i otrzymają adekwatne do tego wynagrodzenie :slight_smile: