Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
umbrasaxum hat gesagt.:moin
Es geht!
Ich bin nach ein paar Versuchen drauf gekommen, dann hab ich gesehen das du oben schon die Lösung des Problems beschrieben hattest hab es nur leider erst übersehen.
Naja es funktioniert super!
Funktion:
Code:void zeichnen(HDC hDC, int x, int y, int richtung, float weite, float div) { int i=0; if(weite > 0.5) switch(richtung) { case 1: for(i=0; i < weite; i++) SetPixel(hDC, x, y-i, RGB(0,0,0)); zeichnen(hDC, x, y-i, 3, weite/div, div); zeichnen(hDC, x, y-i, 4, weite/div, div); break; case 2: for(i=0; i < weite; i++) SetPixel(hDC, x, y+i, RGB(0,0,0)); zeichnen(hDC, x, y+i, 3, weite/div, div); zeichnen(hDC, x, y+i, 4, weite/div, div); break; case 3: for(i=0; i < weite; i++) SetPixel(hDC, x-i, y, RGB(0,0,0)); zeichnen(hDC, x-i, y, 1, weite/div, div); zeichnen(hDC, x-i, y, 2, weite/div, div); break; case 4: for(i=0; i < weite; i++) SetPixel(hDC, x+i, y, RGB(0,0,0)); zeichnen(hDC, x+i, y, 1, weite/div, div); zeichnen(hDC, x+i, y, 2, weite/div, div); break; } }
Aufruf:
Code:case WM_PAINT: { HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hWnd, &ps); { zeichnen(hDC, 400, 500, 1, 200, 1.35); } EndPaint(hWnd, &ps); ReleaseDC(hWnd, hDC); return 0; }
Man sollte mit dem Parameter div gut aufpassen hab ich gemerkt, da der Computer ganz schnell sehr viel zu tun hat!
Bei weite = 200 und div = 1.35 werden 2097151 Linien gezeichnet....unten das Beispiel wie es dann aussieht
mfg
umbrasaxum
void zeichneBaum(direction degrees, double length, int depth)
if(depth > 0){
...
switch(degrees){
case 0GRAD:
//zeichne den Strich in der angegebenen Länge im 0 grad Winkel<-- Pseudocode
zeichneBaum(90GRAD, length / 2, depth - 1);
zeichneBaum(270GRAD, length / 2, depth - 1);
break;
...
}
zeihneBaum(180GRAD, 300, 4); //bis zu 4 Teilbaeume zeichnen