Jak stworzyć bitmapę w Qt pod MVS 2008?

0

Witam,

tak jak w temacie piszę w Microsoft Visual Studio 2008 i korzystam z biblioteki Qt.

c++

Chciałbym w moim projekcie stowrzyć bitmapę abym mógł dowolnie zmieniać kolory pixeli.

Proszę o pomoc.

0

Dodaj na formę kontrolkę QGraphicsView i podepnij do niej QGraphicsScene. Na scenie rysujesz metodami w stylu scene.addText, scene.addRect itp. Żeby to co będzie narysowane zapisać do pliku to musisz utworzyć obiekt QImage o wymaganych rozmiarach, utworzyć QPainter tego obrazu, wyrenderować na tym painterze zawartość sceny i zapisać plik metodą QImage'a - save().

Kod zapisywania pliku png w PyQt4:

def zapiszObraz(self):
	filename=QtGui.QFileDialog.getSaveFileName(None,"Zapisz obraz...","", "*.png")
	if filename:
		img = QtGui.QImage(int(self.save_x),int(self.save_y),QtGui.QImage.Format_ARGB32_Premultiplied)
		p = QtGui.QPainter(img)
		self.scene.render(p)
		p.end()
		img.save(filename)

Obraz ze sceny jest wektorowy i skaluje się do rozmiaru obrazu: self.save_x, self.save_y (to z mojego projektu zmienne, które definiuję gdzieś indziej w kodzie ;) ).

0

Do manipulacji pikselami służy klasa QImage(popatrz sobie w dokumentacji na konstruktory),zaś do pikseli dostajesz się poprzez np pixel() albo bits().Jest to ładnie opisane w rozdziale Pixel Manipulation

1 użytkowników online, w tym zalogowanych: 0, gości: 1