zufällige polygone



  • war beim petzold lesen beim RANDRECT programm angekommen und hab dieses progrämmchen etwas erweitern wollen, und zwar hab ich eine Funktion eingbaut, die Zufällige Polygone Zeichnen soll, klappt sogar, nur leider stürzt das programm nach ner Zeit (millisekundenbereich) mit einem Fehler ab. Hier der Code von der Polygonzeichenfunktion:

    void DrawPoly(HWND hWnd)
    {
    	if(cxClient == 0 || cyClient == 0)
    		return;
    
    	HBRUSH hBrush;
    	HDC hdc;
    	RECT rect;
    	HRGN hrgnpol;
    	int i = rand()%10;
    	POINT* pt = new POINT[i];
    
    	SetRect(&rect,	rand()%cxClient, rand()%cyClient,
    					rand()%cxClient, rand()%cyClient);
    
    	for(int k = 0; k<i; k++)
    	{
    		pt[k].x = max(rect.left,rand()% rect.right);
    		pt[k].y = max(rect.top,rand()% rect.bottom);
    	}
    
    	hBrush = CreateSolidBrush (
                        RGB (rand () % 256, rand () % 256, rand () % 256)) ;
        hdc = GetDC (hWnd) ;
    	hrgnpol = CreatePolygonRgn(pt, i, WINDING);
    	FillRgn(hdc, hrgnpol,hBrush);
    	ReleaseDC(hWnd, hdc);
    	 DeleteObject(hBrush);
    	 DeleteObject(hrgnpol);
    	 delete[] pt;
    	 pt= NULL;
    }
    

    sehe meinen Fehler irgendwie nicht, aber es ist ja 100%ig sicher, dass im forum einige bessere Augen haben als ich



  • sorry, war zu doof, hab nicht debuggt - da seh ichs schon - division by zero beim modulo, problem gelöst.


Anmelden zum Antworten