[vb.net]clipboard object in dll?

Pagina: 1
Acties:

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Ik moet een frame grabben van een webcam en opslaan in een database.
Dit doe ik in een dll project,

Nu zijn er twee mogelijkheden, direct naar file of naar clipboard.

File lijkt me niet handig, en geeft weer onnodige bestanden.

Clipboard lijkt me wel handig, maar het rare is dat dit object alleen in een normaal project gebruikt kan worden.

Iemand een suggestie hoe je clipboard kan gebruiken in een dll project? (import kan je dat object niet aan)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:38
Het clipboard zal hoogstwaarschijnlijk in de Windows.Forms namespace gedefinieerd zijn.
Ff checken.

https://fgheysels.github.io/


  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Ja maar die kan je dus niet importeren in een dll.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:38
Check: ja dus.

Je zal dus de Windows.Forms namespace moeten importeren in je DLL project. Echter, als je dat doet, wees er dan wel van bewust dat je die DLL dan praktisch enkel in een windows applicatie volledig zult kunnen gebruiken.
(Als je Windows.Forms niet kunt importeren, zul je'm moeten adden aan je references (Project / Add Reference / ... .)

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:38
Daarbij is het misschien netter om je 'gegrabde frame' op te slaan in een memory-stream. Dan moet je geen reference leggen naar de Windows.Forms dll.

https://fgheysels.github.io/


  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Ja maar het probleem is dat je in video for windows alleen kan kiezen naar file of naar clipboard.

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Met capCreateCaptureWindow creeer ik een capture window. voor de webcam, is het niet mogelijk om daaruit een frame te "grabben"?

[ Voor 6% gewijzigd door Scorpion1984 op 11-01-2005 21:19 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Naar het Clipboard zou ik nooit doen. Leuk als ik me belangrijke source code net zit te knippen en wil ik plakken staat er in 1x een gecapturede screen shot in me source :+

Kijk eerder naar een MemoryStream zoals whoami al aangeeft, maar wat wil je er precies mee doen? Want het als het gewoon een Image object is kun je die ook gewoon doorgeven als argument. En een MemoryStream gaat verloren zodra je afsluit, dit heb je bij een Clipboard niet. Maar dat lijkt mij niet de esentie.

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Je maakt met capCreateCaptureWindow een capture window, je weet wel zo'n zwart scherm. Daar doe je met video for windows functies een driver aan "vast" maken. Met als device bijvoorbeeld een webcam.
: SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, device, 0)
Dan doe ik: SendMessage(hWndC, WM_CAP_SET_PREVIEW, True, 0) die ervoorzorgt dat je in dat zwarte schermpje de output van de webcam krijgt. Je krijgt dus video. Nu wil ik dus een enkele frame als plaatje hebben. En ik zie dus nergens een mogelijkheid om dit naar een MemoryStream te doen. Alleen naar het clipboard of naar file.

Met een SendMessage is volgens mij de enigste manier om iets op te slaan, en dat kan zover ik weet alleen naar clipboard of file.

[ Voor 12% gewijzigd door Scorpion1984 op 12-01-2005 14:00 ]


  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Niemand?
Pagina: 1