Bilder auf den Schirm zaubern?

Gast #1122263
Lesenswert?

Ich erinnere mich, dass ich von ca. 15 Jahren mal in Pascal unter DOS 
eine Uhr oder so in der Schule programmieren sollte, mit irgendwelchen 
Funktionen wie put_pixel() oder draw_line(). Das war tierisch langsam 
und ruckelig und ich war erstaunt wie ein Klassenkamerad ein vollständig 
animiertes Linienfahrrad hinbekommen hat.

Viele im Internet verbreitete technische Spielereien (led-matrix-touch) 
etc. haben zur Visualisierung gleich 3D Darstellungen mit OpenGL oder 
so.

Von der Software zum Bild ist es wohl ein weiter Weg über X Sub-Systeme.

Ich interessiere mich dafür, weil ich eine LED Matrix simulieren möchte 
aber nicht weiss, wie man sowas anstellen könnte. Ich weiss, dass 
GUI-Toolkits auch Grafikfunktionen für canvas-Elemente bereithalten, 
aber ob sowas schnell ist?

Ideal wär' eine Quelle die den Weg eines Bildes auf den Bildschirm 
erklärt und Tipps zum Programmieren gibt. Ist wohl der Inhalt von 
Büchern!?
Gast #1122303
Lesenswert?

Hi

Welche Sprache/Programmierumgebung willst/musst/kannst du denn benutzen?
Wenn du mit Pascal Erfahrungen hast würde sich Delphi anbieten. Ist 
allerdings objectorientiert (ähnlich Turbo Vision bei Turbo Pascal).
Turbo Delphi gibt es kostenlos.

>Das war tierisch langsam und ruckelig...

Die Rechner sind in den letzten 15 jahren etwas schneller geworden.

>Ich weiss, dass GUI-Toolkits auch Grafikfunktionen für canvas-Elemente 
>bereithalten, aber ob sowas schnell ist?

Für deine Zwecke mit grosser Wahrscheinlichkeit schnell genug.

MfG Spess
Gast #1122313
Lesenswert?

Hallo,

die Sprache ist mir fast egal - mit Python kann ich mich anfreunden weil 
es recht komfortabel ist. Aber eigentlich suche ich allgemeine 
Informationen, wie ich den Bildschirm unter meine Kontrolle bekomme.. 
:-)
(Firma: Q3) #1123516
Lesenswert?

Unabhängig von der Programmiersprache, die Technik, die ruck- und 
flimmerfreie Grafiken auf den Bildschirm bringt, heisst "back plane 
drawing" bzw. "double buffering".

Das gibts mit Hardware-Unterstützung oder auch nur per Software. Der 
Trick ist, dass man in einen Bildspeicher (Hardware) oder einen 
Bildpuffer (Software) schreibt, der gerade nicht zu sehen ist.

Es gibt Grafikkarten, die haben so viel Speicher, dass mindestens zwei 
komplette Screens darin Platz haben. Während der eine Screen gerade 
angezeigt wird, wird in den anderen (gerade unsichtbaren) gezeichnet und 
dann per Hardware-Register getauscht - möglichst synchron zum 
Vertikalimpuls.

Das ganze geht bei schnellen Rechnern auch nur per Software, was 
einfacher ist, weil man in höheren Programmierspreachen ohnehin keinen 
Zugriff auf die Speicherbänke der Grafikkarte hat. Man legt intern ein 
Image-Objekt an und zeichnet dort hinein. Danach wird es per copy- oder 
imagedraw-Befehl (abhänig von Sprache) in den Context eines sichtbaren 
Canvas kopiert. Manche Programmiersprachen bzw. deren Compiler 
syncronisieren sowas von selber mit dem Vertikalimpuls (z.B. RealBasic).

Frank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren