konsola tryb graficzny

konsola tryb graficzny
wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

mam taki kod:

Kopiuj
class DrawConsole
{
public:
	HWND myconsole;
    HDC mydc;
	COLORREF COLOR;
	void Init()
	{
		myconsole = GetConsoleWindow();
		mydc = GetDC(myconsole);
	}
	void Color3i(int r,int g,int b)
	{
		COLOR= RGB(r,g,b);
	}
	void PutPixel(int x,int y)
	{
		SetPixel(mydc, x, y, COLOR);
	}
	void PutLine(int xs,int ys,int xe,int ye)
	{
		
	}
	void unLoad()
	{
		ReleaseDC(myconsole, mydc);
	}
};

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

	  DrawConsole draw;
	  draw.Init();
	  draw.Color3i(0,255,0);
	for(float w=0;w<100;w+=0.001)
	draw.PutPixel(w,100);
	
    draw.PutLine(10,10,100,10);
	draw.unLoad();
	do{}
	while(kbhit()!=true);
  }

jak narysować kreskę czyli linie funkcją PutLine xstart, ystart , xkoniec, ykoniec
tu chyba matma wchodzi jakiś może wzór matematyczny
bo poziomą czy pionową jeszcze mozna recznie dopisac ale np po u kosie?

edytowany 2x, ostatnio: Ktos
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 8 godzin
1

"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

dziękuje

wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

void Box2d(int xs,int ys,int xe,int ye)
{

	 for(int xp=xs;xp<xe;xp+=1)
	 {
		 PutLine(xp,ys,xp,ye);
	 }
 }


draw.Color3i(0,255,0);
draw.Box2d(0,20,100,50);
draw.Color3i(255,0,0);
draw.Box2d(100,20,200,50);

progress bar w połowie skonczony :)
wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

jaka jest prędkość rysowania tego systemu w mili sekundach bo cout zajmuje 32 mili sekundy tzn 1/30 sekudy
edit: mam progress bar

 void ProgressBar(int percent)
 {
	Color3i(0,255,0);
	Box2d(0,20,percent*2,50);
	Color3i(255,0,0);
	Box2d(percent*2,20,200,50);
 }

  draw.ProgressBar(50);
edytowany 2x, ostatnio: wilkwielki
wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

zmontowałem opcje wczytywania plików bmp , bajer na maksa , tutaj projekt
ikona2d.rar

szkoda ze tak wolno rysuje, przydała by się jakaś akceleracja sprzętowa tzn odwołanie do sterownika a to do procesora graficznego tak jak jest np w OpenGl

edytowany 1x, ostatnio: wilkwielki
Manna5
  • Rejestracja:około 6 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Kraków
  • Postów:641
0
obscurity napisał(a):

https://pl.wikipedia.org/wiki/Algorytm_Bresenhama

No można ręcznie użyć algorytmu, ale program z pierwszego postu wygląda jakby używał WinAPI, a wśród funkcji rysujących WinAPI jest gotowa funkcja LineTo rysująca odcinek.


obscurity
no tak, ale jak chcesz to zanimować to już gorzej
wilkwielki
  • Rejestracja:ponad rok
  • Ostatnio:około 10 godzin
  • Postów:427
0

ja zamiast nazwy BresenhamLine zmieniłem ją na PutLine i działa rysuje odcinki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.