29.01.2009, 19:33
Beitrag #1
|
|
|
29.01.2009, 21:00
Beitrag #2
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Brauche jemanden der mir Programm erklärt
Das könnte schwierig werden, weil man (zumindest ich) nicht weiß, was sich hinter den DLLs befindet.
Das ist in etwa so, als wenn ich Dir die Eingänge und Ausgänge eines SubVIs auf einem Bild zur Verfügung stelle und Dich frage, was das SubVI macht.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
29.01.2009, 21:01
Beitrag #3
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Brauche jemanden der mir Programm erklärt
Was evtl. helfen könnte, wäre dass Du das VI und die DLLs mal hochlädst.
Gruß Markus
' schrieb:Das könnte schwierig werden, weil man (zumindest ich) nicht weiß, was sich hinter den DLLs befindet.
Das ist in etwa so, als wenn ich Dir die Eingänge und Ausgänge eines SubVIs auf einem Bild zur Verfügung stelle und Dich frage, was das SubVI macht.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
29.01.2009, 21:52
(Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2009 21:54 von IchSelbst.)
Beitrag #4
|
|
|
29.01.2009, 21:58
(Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2009 22:01 von JackDaniels.)
Beitrag #5
|
|
|
29.01.2009, 22:07
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Brauche jemanden der mir Programm erklärt
Meinst du diesen Thread hier:
http://www.LabVIEWforum.de/index.php?showtopic=11144
Gruß, Jens
P.S.: Mit Windows-DLL's werden Linux und Mac-User recht wenig anfangen können. Übrigens, laut dem alten Thread oben braucht das Bsp .NET
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
29.01.2009, 22:12
Beitrag #7
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Brauche jemanden der mir Programm erklärt
' schrieb:Nur oberflächlich
Nur oberflächlich kannst du dir selbst überlegen anhand der Beschreibungen der Zahlen:
5 Knoten - 5 Schritte: Handle auf Fenster (Paintbox) holen, Handle (also Fenster) mit Treiber verbinden (40A: DRIVER_CONNECT), Scalierung (also wohl, dass das Bild ins fenster passt) setzen (435: SET_SCALE), Previewrate (???) setzen (434: SET_PREVIEWRATE) und letztendlich Preview (also Vorschau) (432: SET_PREVIEW).
Warum man natürlich die Previewrate und die Scalierung setzen muss, weiß ich nicht.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
04.02.2009, 17:42
Beitrag #8
|
JackDaniels
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Oct 2008
Full Development System 8.5
2008
de
69123
Deutschland
|
Brauche jemanden der mir Programm erklärt
' schrieb:Nur oberflächlich kannst du dir selbst überlegen anhand der Beschreibungen der Zahlen:
5 Knoten - 5 Schritte: Handle auf Fenster (Paintbox) holen, Handle (also Fenster) mit Treiber verbinden (40A: DRIVER_CONNECT), Scalierung (also wohl, dass das Bild ins fenster passt) setzen (435: SET_SCALE), Previewrate (???) setzen (434: SET_PREVIEWRATE) und letztendlich Preview (also Vorschau) (432: SET_PREVIEW).
Warum man natürlich die Previewrate und die Scalierung setzen muss, weiß ich nicht.
Dein Beitrag hat mir schon sehr geholfen danke.
Ich habe nun Versucht dies irgendwie in paar sätze zu formulieren. Wenn ihr mal drüberschauen könntet.. Ist erstmal ein entwurf, also warscheinlich paar rechtschreibfehler und gramatikalisch nicht 100% richtig:)Die bedeutung von dwSytle ist mir noch nicht ganz so klar, stimmt das was ich über dwstlye geschrieben habe? (hab danach gegoogelt)
In der ersten Sequenz wurde ein „Knoten zum Aufruf externen Bibliotheken“ platziert. Dieses Element öffnet nun die Bibliothek in C:WindowsSystem32avicap32.dll. Die Bibliothek ist dazu gut, damit die Aufzeichnung von der Webcam ins LabVIEW gebracht wird. Dieser Knoten muss nun einige Parameter bekommen um richtig funktionieren zu können. Einmal wird für das Anzeigefenster ein Name (lpszWindowName) benötigt, der durch einen "KangKang" String definiert ist. dwStyle ist zur Definierung wie die Bildaufzeichnung angezeigt werden soll. Dann benötigt der Knoten die Position (X,Y), wo die Aufzeichnung in der Paintbox angezeigt wird. X und Y wird durch eine Numerische Konstante „0“ in dezimal schreibweise definiert. Dadurch wird die Aufzeichnung im oberen linken Eck in der Paintbox Positioniert. nWidth und nHeight ist zur länge und breite des Bildes. Durch ein „DotNet“-Element (PictureBox2) wird eine Paintbox mit einer definiert Höhe und länge erzeugt. Diese Länge und Höhe wird zum Knoten weitergegeben. Somit wäre die Aufzeichnung genau so groß wie das Anzeigefenster. Mit hWnd wird eine Zugriffsnummer vergeben, um das Objekt zu kennzeichnen. Die Zugriffsnummer wird auch als Handle bezeichnet. Am ende liefert der Knoten eine Konstante Zahl als Ausgabe, die auf ein Anzeigeelement geführt ist.
In der zweiten Sequenz wird über einen „Knoten zum Aufruf externen Bibliotheken“ die Bibliothek C:WindowsSystem32user32.dll geladen. Der Knoten bekommt über die Lokale Variable „hWnd of Capture“ die sogenannte Zugriffsnummer übermittelt. Mit dem Parameter 40A Hex wird nun das Anzeige Fenster mit dem Treiber verbunden. Der Wert 40A Hex ist sozusagen der Befehl DRIVER_CONNECT. Wenn LabVIEW nun erfolgreich mit dem Treiber verbunden ist, gibt die user32.dll den Wert 1 aus und Startet somit die Anweisungen in der Case-Struktur „1“. Wenn der Treiber nicht Verbunden ist, bleibt der Wert auf 0. In der Case-Strukur „1“ befindet sich eine weitere flache Sequenz. In der ersten Sequenz wird über die user32.dll die Aufzeichnung Skaliert, d.h., dass das Video so klein skaliert wird, damit es in das Anzeigefenster hineinpasst. Dies geschieht über den Parameter 435 Hex. 435 Hex steht für den Befehl SET_SCALE. In der zweiten Sequenz wird die Previewrate (Vorschaurate) gesetzt. Damit wird definiert wie viele Bilder in der Sekunde aufgezeichnet werden. Die Rate ist natürlich von der maximalen Aufzeichnungsrate der Webcam abhängig. Die Rate wird mit dem Parameter "30" Dezimal, also 30 Bilder pro Sekunde, definiert. Mit dem Parameter 434 Hex wird der Befehl SET_PREVIEWRATE ausgeführt. Und schließlich im dritten Sequenzfenster wird die Vorschau mit dem Parameter 432 Hex gesetzt. Also das wir auch etwas angezeigt bekommen, sprich damit die Videoübertragung gestartet wird. 432 Hex steht für SET_PREVIEW.
Hoffe da ist nicht all so viel falsch
Danke schonmal
mfg
JackDaniels
|
|
|
04.02.2009, 19:29
Beitrag #9
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Brauche jemanden der mir Programm erklärt
Naja, kann man so lassen. Ich weiß ja was du meinst.
dwStyle ist ein "Kombinationswert" aus WS_Child und WS_Visible. Das sind fenster-spezifische Werte, damit das BS weiß, was es machen soll.
Guckst du auch hier und hier. Gefunden mit capcreatecapturewindowa bei google.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |