putpixel in C
-
ja also der befehl funzt bei mir nicht ich verwende Borland C, und weiss auch dass ich initgraph usw. verwenden muss, doch der compiler meldet dennoch einen fehler! möchte doch nur ein pixel malen
-
initgraph, putpixel hört sich doch sehr nach Turbo Pascal an :D. Aber vielleicht nur weil beides BGI ist.
Also welchen Fehler zeigt er genau bei putpixel() an? In welchem Zusammenhang (Codeausschnitt) zeigt er diesen Fehler an? Einfach zu sagen "Hilfe da kommt ein Fehler" ist etwas wenig Information...
MfG SideWinder
-
armer side, du bist grad pascal geschädigt, gelle?
hier aus einer borland hilfe, vielleicht hilfts..
ohne formatierung, weil eben mal aus nem pdf rauskopiert--------------------------------------
Borland - C
Sollte das Programm kompiliert werden, kann die EXE - Datei nur ausgeführt werden, wenn der
Grafiktreiber EGAVGA.BGI im angegebenen Verzeichnis ist. Allein kann die Datei nicht ohne
einen weiteren komplexen Schritt ausgeführt werden !!!
Näheres zum Linken von Grafiktreibern steht im Borland C++ Reference-Manual.
Sollten Fragen bezüglich dieses Beispiels auftreten, kann man sich an den Autor des
Programms wenden./* Beispiel für die Befehle :putpixel(), circle(), line(), rectangle(), floodfill(), setcolor(), setbkcolor(), initgraph(), outtextxy(), setfillstyle(), setlinestyle(), settextstyle(), closegraph()*/ /* Includieren der Header - Dateien */ #include <graphics.h> /* Grafikbefehle */ #include <stdio.h> /* Ein/Ausgabe - stdout */ #include <conio.h> /* Tastatur - Ein/Ausgaben */ #include <stdlib.h> /* Standard - Bibliothek */ #include <math.h> /* Mathematische Funktionen */ /* Hauptprogramm */ int main(void) { /* Variablendeklaration */ float i; int Fehlerpruefer; int Farbe = 3; int Treiber = VGA ; /* VGA - Karten Treiber */ int Modus = VGAHI; /* 640 x 480 Pixel -> 16 Farben */ /* Einschalten des Grafikmodus' */ initgraph(&Treiber, &Modus, "C:\\BC\\BGI"); Fehlerpruefer = graphresult(); if (Fehlerpruefer != grOk) /*Auftreten eines Fehlers ?*/ { printf("Grafikfehler: %s\n",grapherrormsg(Fehlerpruefer)); printf("Drücken einer Taste, um das Programm zu beenden"); getch(); exit(1); /* Beendet das Programm */ } setbkcolor(15); /* Setzen der aktuellen Zeichenfarbe */ setpalette(8,0); /* Die Farbe mit der Nummer 8 bekommt hier die Zuweisung 0, d.h. der Farbwert, der ehemals grau war, ist jetzt schwarz. */ /* Desktop */ setcolor(8); rectangle(40,40,620,460); setfillstyle(SOLID_FILL, 8); floodfill(50,50,8); setcolor(1); rectangle(20,20,600,440); setfillstyle(SOLID_FILL, 1); floodfill(50,50,1); /* Überschrift */ setcolor(15); settextstyle(SMALL_FONT, HORIZ_DIR, 8); outtextxy(100,50,"Grafikprogrammierung unter C"); setcolor(12); setlinestyle(USERBIT_LINE, 255, 3); line(100,85,505,85); /* Zeichnen der ersten drei Figuren */ setcolor(14); setlinestyle(SOLID_LINE, 0, 1); rectangle(50,100,170,150); circle(300,125,25); ellipse(500,125,0,270,70,20); /* Zeichnen der zweiten drei Figuren */ setcolor(13); setlinestyle(SOLID_LINE, 0, 1); rectangle(50,200,170,250); circle(300,225,25); ellipse(500,225,0,360,70,20); /* Ausfüllen der Figuren */ setfillstyle(SLASH_FILL, 4); floodfill(60,210,13); setfillstyle(LINE_FILL, 4); floodfill(310,225,13); setfillstyle(CLOSE_DOT_FILL, 4);floodfill(510,230,13); /* Zeichnen der beiden Rechtecke für die putpixel-Darstellung */ setcolor(15); rectangle(50,300,250,400); rectangle(300,300,580,400); setcolor(14); line(320,310,320,390); line(320,310,317,325); line(320,310,323,325); line(320,350,560,350); line(560,350,550,346); line(560,350,550,354); /* Ausgeben der erklärenden Texte */ settextstyle(SMALL_FONT, HORIZ_DIR, 4); outtextxy(205,87,"setlinestyle(USERBIT_LINE,255,3); line(100,85,505,85)"); outtextxy(50,155,"rectangle(50,100,170,150)"); outtextxy(250,155,"circle(300,125,25)"); outtextxy(420,155,"ellipse(500,125,0,270,70,20)"); outtextxy(50,255,"rectangle(50,200,170,250)"); outtextxy(50,265,"setfillstyle(SLASH_FILL, 4)"); outtextxy(50,275,"floodfill(60,210,13)"); outtextxy(250,255,"circle(300,225,25)"); outtextxy(250,265,"setfillstyle(LINE_FILL, 4)"); outtextxy(250,275,"floodfill(310,225,13)"); outtextxy(420,255,"ellipse(500,225,0,360,70,20)"); outtextxy(420,265,"setfillstyle(CLOSE_DOT_FILL, 4)"); outtextxy(420,275,"floodfill(510,230,13)"); outtextxy(50,405,"setviewport(50,300,250,400,1) setviewport(320,300,580,400,1)"); outtextxy(50,415,"putpixel(random(199)+1,random(99)+1,14)"); setcolor(12); outtextxy(300,415,"Einfache Funktionsdarstellung (siehe Quelltext)"); setcolor(8); outtextxy(20,460,"Drücken Sie eine beliebige Taste um zu beenden ..."); /* Schleife der einfachen Animationen */ while(!kbhit()) { if (Farbe==15) Farbe = 3; Farbe++; for(i=0;i<=30;i=i+0.005) { setviewport(320,300,580,400,1); /* Erstes Grafikfenster*/ putpixel(i*8,sin(i)*30+50,Farbe); /*Zeichnen Funktionen */ putpixel(i*8,cos(i)*30+50,Farbe + 1); putpixel(i*8,tan(i)+50,Farbe - 1); setviewport(50,300,250,400,1); /* Zweites Grafikfenster*/ putpixel(random(199)+1,random(99)+1,14); /* Zeichnen zufälliger Pixel */ putpixel(random(199)+1,random(99)+1,1); } } /* Beenden des Grafikmodus' !!! closegraph() darf nicht weggelassen werden. Wird der Befehl weggelassen, arbeitet DOS mit dem Grafikmodus weiter,der im Programm gesetzt wurde!*/ closegraph(); printf("Grafikprogrammierung : Tutorial (C) "); return 1; /* Rückgabe einer obligatorischen Integer - Zahl */ }