Hallo, ich brauche mal euere Hilfe! Ich habe eine Picture Box, in der ich mehrere Kreise und Linien gezeichnet habe. http://www.tobytetzi.de/NightVision.JPG Nun will ich per Mausklick auf die einzelnen Felder die Farbe des Feldes ändern. Es sind insgesamt 32x256 Einzelfelder, je 1 Bit. Die Felder entsprechen 32 Leds, die sich drehen, und in 256 Schritten pro Umdrehung aufgeteilt sind. Die Daten des "Bildes" will ich in einem Array 32x256 speichern, und über einen MC in einem EEProm speichern. Ich habe ebenso geplant, ein Bitmap in die PictureBox zu laden. Die Felder meiner Zeichnung sollen dann automatisch die Farbe ändern( 1 Bit Farbtiefe). http://www.tobytetzi.de/NightVision1.JPG Kann mir jemand sagen, wie ich das bewerkstelligen kann? Freue mich über jede Hilfe. Gruß Toby
Hallo Toby, für das Füllen der Felder auf Mausklick habe ich den Dateianhang. Es gibt eine API-Funktion ExtFloodFill, mit der man dies leicht realisieren kann. Zur zweiten Sache, wie man diese Informationen in ein Array speichert, habe ich im Moment noch keine Antwort. Vielleicht finde ich noch eine :-). Mit dem Bild laden und automatisch in die Felder schreiben könnte man auch mit ExtFloodFill machen. Man müsste halt eine For-Schleife von 0 bis zur Bildhöhe des geladenen Bildes zählen, mit dem Schritt Bildhöhe geteilt durch die Anzahl der Felder in der Höhe (also 32 Felder mal 2). Ab Feld 32 muss man dann den Durchmesser des weißen Kreises in der Mitte dazuzählen. In der For-Schleife prüft man dann mit GetPixel, ob das Feld Schwarz ist. Wenn dies so ist, dann muss man halt ExtFloodFill an der Position einsetzen, bei der die Schleife gerade ist. So, jetzt hab ich noch einen Link zum Beispiel ExtFloodFill: http://www.activevb.de/tipps/vb6tipps/tipp0170.html Ich hoffe, dass ich dir ein bisschen helfen konnte. Wie schon gesagt, schaue ich mal, ob ich zu Punkt 2 noch etwas finde. Grüße David
Hallo David, ich bin bereits bei der GetPixel methode angekommen. Wenn ich etwas mehr fertig bekommen habe, melde ich mich nochmal. Danke Dir, für die Infos!!!! Gruß Toby
Hallo Toby, ich hätte jetzt eine Lösung für das automatische Eintragen in ein Array. Bist Du noch daran interessiert, oder hast du schon eine Lösung gefunden ? Dann noch eine Frage: Wie hast du denn die Linien und Kreise ins Bildfeld bekommen ? Über ein Bild, Shapes mit der Circle-Methode oder etwas anderem ? Das würde mich interessieren. Grüße David
Hallo David, anliegend meine jetzige "Test-Version", mit weitaus weniger Spalten und Zeilen. Allerdings will ich nicht erst das Array beschreiben,so wie im ZIP dir "Test-Button", sondern Bits per Maus setzen, die sollen dann ins Array. Sagen wir mal, oben, 12 Uhr ist 0, dann im Urzeigersinn weiter. Klar bin ich noch dran interessiert! Schau Die das mal an: http://www.ladyada.net/make/spokepov/software.html Ich bin grade dabei, genau so etwas in SMD aufzubauen. Allerdings mit nem ATmega8, MMC/SD/TransFlash Karte, Schieberegistern mit intregierten LED Treibern, 32 PLCC2 LEDs auf einer Seite. Spätere Version evtl. in RGB. Die Software will ich mit VB 6.0 schreiben, habe zwar Python, aber kenne mich garnicht damit aus. Außerdem will ich ja nichts Kopieren, sondern anders machen! Gruß Toby
Ach, David, eins fällt mir noch ein: Man kann das "Spinnennetz" per Mausklick färben! Ebenso die Mitte und den Bereich außen rum. Das darf natürlich auch nicht sein! Gruß Toby
Hi nochmal, ich hatte noch eine Variante, bei der man die Schwarzen Linien nicht mehr färben kann, leider noch immer die Mitte und das Drumherrum! Ebenso kann man sich den Array Inhalt anzeigen lassen und mit Bild löschen wieder zurück setzen. Gruß Toby
Hallo Toby, das Programm sieht ja schon mal ganz gut aus. Jetzt ist es aber schon spät und ich kann das mit dem Array nicht mehr posten. Morgen (wahrscheinlich) kann ich die Funktionsweise meiner Idee dann mal erklären. Ich habe auch schon ein Programm dazu geschrieben, bei dem man einstellen kann welche Größe das Array hat und welche Maße der Kreis und der Innenkreis hat und wie weit der Kreis vom Rand entfernt ist. Allerdings liegt der Nullpunkt bei mir noch bei 3 Uhr und das ganze läuft gegen den Uhrzeigersinn (mathematisch positiv). So, jetzt mach ich Schluss für heute und hoffe, dass ich Dir morgen weiterhelfen kann. Wahrscheinlich schreibe ich dann eine Word-Datei mit Erklärung, weil ich das Ganze hier nicht schreiben und zeichnen kann. Grüße David
Ich schon wieder, habe jetzt hin bekommen, das ich weiße Felder rot, und weiße Felder rot färben kann. Der Hintergrund ist grau, und auch für das Füllen gesperrt. Nun muß ich nur noch die roten Felder ins Array bekommen! Gruß Toby
Hallo David, ich würde ja auch gern die Narbengröße, LED Anzahl, Spalten als Variablen machen. Aber erst muß ich dazu die Einfachste Art kennen lernen. Und das hat ja schon fast hin gehauen. Übrigens, so schön sieht das Prog ja nicht aus, schön kommt später! Gruß Toby
Hallo Toby, jetzt bin ich mit dem Beispiel fertig. Man kann die Arraygröße bestimmen (Höhe und Breite, also die Anzahl der LEDs und die Schritte pro Umdrehung), den Innenkreisradius und den Außenkreisradius. Außerdem kann man bestimmen, wie weit der Kreis vom linken und oberen Rand entfernt ist. Wie soll ich das jetzt machen ? Soll ich ein Word-Dokument schreiben, das Programm einfach posten oder das Programm kommentieren ? Was meinst Du mit Narbengröße ? Den Abstand zwischen zwei "Schritten" ? Ich kann auch das Programm jetzt einfach so posten und dann noch ein Word-Dokument schreiben. Sag einfach, wie es Dir am Liebsten ist. Gruß David
Hallo Toby, mir ist gerade eingefallen, das ich ja selber dein Programm umschreiben könnte (zumindest versuchen :-). Ich fang mal damit an. Grüße David
Hallo Toby, ich bin es noch einmal. Wegen "zeitkritischer Anwendung" bei der Refresh-Methode: sehr richtig, lässt sich aber einfach lösen. Wenn Du bisher in der Schleife immer die fillCell-Funktion aufrufst, wird jedesmal das Refresh aufgerufen. Das braucht man aber nicht. Ich hab das Programm jetzt so geändert, das es das Refresh erst nach der Schleife, also nur ein Mal aufruft. Jetzt sieht man überhaupt nicht mehr, wie die Zellen einzeln gezeichnet werden, sondern es sind alle auf einmal rot ! Außerdem denke ich, das die fillCell_xxx- Prozeduren zusammengefasst werden können, dann muss man einfach noch die Farbe übergeben. Ich werds mal probieren. Grüße David
Hallo David, mit Narbe meinte ich den Innenkreis. Am besten, du schickst mir mal ein zip des Progs per Mail. Das Array angepasst?! Cool, wusste nicht, wie das gehen soll! Hört sich alles sehr gut an!!!! Her damit ! ;-) Danke für deine Hilfe! Gruß Toby
Ach, habe übrigens auch noch etwas geändert! Ich bin grade dabei, für 32 LEDs 4 Arrays à 8 Bit x Spalten zu machen. Das ist für die Schieberegister besser. Dann könnte man den aüßeren Ring z.B. drehen lassen. Bin auf dein Prog gespannt! Gruß Toby
Hi nochmal, hier habe ich das Programm etwas eingekürzt. Funktion Draw_Modell z.B. Ebenso habe ich Variablen für LEDs, Spalten,... Nur kann ich bis lang die Array Größe nicht mit Variablen erstellen. Gruß Toby
Hallo Toby, ich schicke Dir gleich das Programm. Außerdem bin ich schon an Deinem Programm, um es zu verändern. Kannst Du dein NightVision_Test2 noch einmal hochladen ? Ich sehe es nur als *.rar-Datei. Dann würde ich nämlich statt dem alten Programm das neuere verändern. Gruß David
Hallo, nur mal für alle: Toby und ich benutzen nur noch Mail. Das Programm kann jetzt schon Farbbilder importieren, Text schreiben, alles in einem Array speichern (48 LEDs, 512 Schritte pro Umdrehung). Grüße David
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.