Deseneaza usor din C++ sub Windows
Last Updated: Apr 13 2015 14:05, Started by
dani.user
, Apr 13 2015 13:49
·
0
#1
Posted 13 April 2015 - 13:49
Multi se intreaba cum pot desena ceva sub Windows, insa mult pomenitul "graphics.h" a lui Borland era pentru MS-DOS si nu-si are locul in 2015.
WinAPI pe de alta parte, ii descurajeaza pe multi prin codul necesar initializarii. Drept urmare, am creat un mic header ce ascunde partea "complicata" din spate, si permite dezvoltatorului sa se concentreze strict pe partea de desenare. Tot ce trebuie dezvoltatorul sa faca e sa:
Ce va face codul din header?
Folosind GDI+, utilizatorul benefieaza o biblioteca orientata pe obiect ce abstractizeaza API-ul de desenare GDI si adauga si facilitati noi. De exemplu, desenarea unor figuri geometrice, in diverse culori, scrierea textului, sau chiar afisarea unor poze de pe disc, se realizeaza foarte usor: #include "Ready2Draw.h" void Draw(Graphics& graphics) { Pen redPen(Color(200, 0, 0)); Pen bluePen(Color(0, 0, 200)); LinearGradientBrush gradientBrush(Point(0, 0), Point(200, 0), Color(200, 0, 0), Color(0, 200, 0)); LinearGradientBrush gradientBrush2(Point(0, 0), Point(800, 50), Color(200, 0, 0), Color(200, 200, 0)); Font comicFont(L"Comic Sans MS", 30); graphics.DrawLine(&redPen, 50, 25, 100, 100); graphics.DrawRectangle(&bluePen, 200, 25, 50, 150); graphics.FillRectangle(&gradientBrush, 400, 25, 200, 150); graphics.DrawEllipse(&bluePen, 650, 25, 100, 150); graphics.DrawString(L"Scris pe imagine. Suportă și diacritice!", -1, &comicFont, PointF(25, 180), &gradientBrush2); Image image(L"Untitled.png"); graphics.DrawImage(&image, 50, 250, image.GetWidth(), image.GetHeight()); } int main() { return Start(800, 600, Draw); } Rezultatul: exemplu.png 35.88K 236 downloads Acest header are rol didactic si nu este optim pentru productie. Odata ce dezvoltatul prinde curaj, poate implementa el continutul header-ului, adaptat nevoilor. Mai multe despre GDI+: https://msdn.microso...2(v=vs.85).aspx Attached FilesEdited by dani.user, 13 April 2015 - 13:53. |
#2
Posted 13 April 2015 - 14:05
Exemplu compilare folosing gcc:
Quote g++ -DUNICODE Exemplu.cpp -lgdiplus -o Exemplu.exe Edited by dani.user, 13 April 2015 - 14:05. |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users