Pixelfarbe lesen
-
Devil Danke für den Link der bringt mich etwas weiter aber wo gebe ich ein wo der Pixel liegt den er überprüfen soll.
-
Hallo !
Die hier gibt es übrigens auch noch:
CDC::GetPixel COLORREF GetPixel( int x, int y ) const; COLORREF GetPixel( POINT point ) const; COLORREF GetPixel( HDC hdc, // handle to device context int XPos, // x-coordinate of pixel int nYPos // y-coordinate of pixel );Tschüss
-
Hi!
Jetzt habe ich den Code soweit geändert, aber nun sehe ich noch nicht mal den Livestream mehr.
COLORREF rgb; COLORREF GetPixel(int x=100, int y=100); long Rot; long Grun; long Blau; Rot=GetRValue(rgb); Grun=GetGValue(rgb); Blau=GetBValue(rgb); CString RotV; CString GrunV; CString BlauV; RotV.Format("%d",Rot); GrunV.Format("%d",Grun); BlauV.Format("%d",Blau);wodrann liegt das denn wenn ich die 2.Zeile wegkommentiere geht der Livestream wieder.
Danke bis jetzt schon mal
BlindPS.: bekomme die Fehlermeldung
FirststepView.cpp(195) : warning C4700: Lokale Variable 'rgb' wurde ohne Initialisierung verwendet
-
rgb = GetPixel(int x=100, int y=100); // ?!?
-
Wenn ich dass mache bekomme ich folgende Fehlermeldungen.
C:\Programme\The Imaging Source Europe GmbH\IC Imaging Control 1.4\Firststep\FirststepView.cpp(192) : error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'int' C:\Programme\The Imaging Source Europe GmbH\IC Imaging Control 1.4\Firststep\FirststepView.cpp(192) : error C2059: Syntaxfehler : ')'COLORREF rgb; COLORREF GetPixel(int x=100, int y=100); rgb = GetPixel(int x=100, int y=100); //Zeile 192 long Rot; long Grun; long Blau; Rot=GetRValue(rgb); Grun=GetGValue(rgb); Blau=GetBValue(rgb); CString RotV; CString GrunV; CString BlauV; RotV.Format("%d",Rot); GrunV.Format("%d",Grun); BlauV.Format("%d",Blau); ob->drawText( RGB(255,0,0), 200, 5, RotV ); ob->drawText( RGB(255,0,0), 200, 20, GrunV ); ob->drawText( RGB(255,0,0), 200, 40, BlauV );
-
COLORREF rgb; rgb = GetPixel(100, 100);^so müsste es funktionieren.
sag mal, wie lange machst du schon C++ ?
Devil
-
[rausred]Meine zu vielen int waren nur Kopierfehler...
[/rausred]
-
isabeau schrieb:
[rausred]Meine zu vielen int waren nur Kopierfehler...
[/rausred]Du warst net gemeint

-
Das habe ich mir schon fast gedacht, wollte es aber trotzdem mal erwähnen...

-
smart_ptr<DShowLib::OverlayBitmap> ob; ob = m_pGrabber->getOverlay(); COLORREF rgb; rgb = GetPixel(100, 100); //Zeile 192 long Rot; long Grun; long Blau; Rot=GetRValue(rgb); Grun=GetGValue(rgb); Blau=GetBValue(rgb); CString RotV; CString GrunV; CString BlauV; RotV.Format("%d",Rot); GrunV.Format("%d",Grun); BlauV.Format("%d",Blau); ob->drawText( RGB(255,0,0), 200, 5, RotV ); ob->drawText( RGB(255,0,0), 200, 20, GrunV ); ob->drawText( RGB(255,0,0), 200, 40, BlauV );:\Programme\The Imaging Source Europe GmbH\IC Imaging Control 1.4\Firststep\FirststepView.cpp(192) : error C2660: 'GetPixel' : Funktion akzeptiert keine 2 ParameterBekomme diese Fehlermeldung habe dann geändert auf
rgb = GetPixel(ob,100, 100); //Zeile 192:\Programme\The Imaging Source Europe GmbH\IC Imaging Control 1.4\Firststep\FirststepView.cpp(192) : error C2664: 'GetPixel' : Konvertierung des Parameters 1 von 'class smart_ptr<class DShowLib::OverlayBitmap,class refcount_ptr<class DShowLib::Over layBitmap,class std::allocator<unsigned int> > >' in 'struct HDC__ *' nicht moeglich Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werdenund bekomme dann diese Fehlermeldung
-
von welcher Klasse ist FirstStepView abgeleitet ?
Gehört eine Klasse aus der CView hierarchie dazu ?ruf mal GetDocument()->GetPixel(..,..) auf.
Devil
-
Nach dem einfügen von deiner Code Zeile kam das hier:
'GetPixel' : Ist kein Element von 'CFirststepDoc'
-
blind schrieb:
Nach dem einfügen von deiner Code Zeile kam das hier:
'GetPixel' : Ist kein Element von 'CFirststepDoc'
Von welcher Viewklasse leitest du deinen View ab ?
Devil
-
Von der Standartklasse die MS Visual Studio C++ wenn man ein Projekt mit dem MFC Anwendungsassistenten erstellt.
Wenn ihr mir bei diesen Befehlen nicht Helfen könnt, könnt ihr mir Vieleicht einen demo Code geben in dem von einem Livestream ein Pixel ein Farbcode eingelesen und am Bildrand ausgegeben wird.
Danke
-
wie Initialisiere ich die hdc-Variable mit der des Inhaltes der Grabber-Variablen? Wenn ich das habe müste mein Proggie laufen.
-
Meinst du mit Standardklasse CView ?
Devil
-
Ja, das meine ich.
Kannst du mir sagen wie ich ein automatisches Update für eine unbestimmte Zeit bekomme, da das Programm ja die Farbwerte dauerhaft lesen soll und nicht nur bei Programmstart einmal. Situation: Pappen mit drukmarke laufen auf einem Transportband unter der Kammerra her und wenn in dem Zeitabstand x nicht y mal soviele Pixel rot waren auf der Position z dann soll das Programm ne Fehlermeldung ausgeben.
Blind
-
Ich würde mal sagen, statt dem DC ein GetPixel abzuverlangen, wäre es erstens effektiver und zweitens viel kürzer, sich den Pixel aus dem ob vom Typ DShowLib::OverlayBitmap zu holen.
-
HI RenéG
Verstehe grad nicht was du meinst kannste das was du meinst bitte mal in code schreiben?
Wäre echt net von dir.
Blind