AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Von Web-Kamera Bild speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Von Web-Kamera Bild speichern

Ein Thema von SaFu · begonnen am 30. Jan 2008 · letzter Beitrag vom 1. Feb 2008
Antwort Antwort
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Von Web-Kamera Bild speichern

  Alt 30. Jan 2008, 17:13
Gude abend

Unzwar habe ich mal folgende Frage.

Ich möchte gerne mit einer Web-Kamera Portrait aufnahmen machen. z.B für eine Angestellten Datenbank. Das man dem jeweiligen Angestellten ein Foto zuweisen kann.

Wie stelle ich das an??

Ich schließe meine Kamera an (USB).

So weiter wie mache ich das am besten.

Mit einem Image für das Foto und einem Button der das ganze auslöst?

Ich habe keine Ahnung

Gruss Sascha
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#2

Re: Von Web-Kamera Bild speichern

  Alt 30. Jan 2008, 17:17
Such mal in der CodeLib, imho gibts dort einen Eintrag für dein Problem.
Jonas
  Mit Zitat antworten Zitat
30. Jan 2008, 17:25
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Das passt hier besser.
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Von Web-Kamera Bild speichern

  Alt 31. Jan 2008, 13:20
Ok ich habe habe jetzt was gefunden

wo bekomme ich das handle her ? oder wie macht man das?

Delphi-Quellcode:
Die zweite Möglichkeit über capFileSaveDIB:
Format: JPEG
Delphi-Quellcode: markieren
function SaveWebcamPictureDIB(pFileName: PChar;WebcamHandle: THandle):Boolean;
const WM_CAP_FILE_SAVEDIB = WM_USER + 25;
begin
if IsWindow(WebcamHandle) then
  result := (SendMessage(WebcamHandle,WM_CAP_FILE_SAVEDIB,0,LPARAM(pFileName)) <> 0)
else
  result := false;
end;
 

Beispielaufruf:
Delphi-Quellcode: markieren
procedure TForm1.Button1Click(Sender: TObject);
begin
//VideoHandle = Zurückgegebenes Handle bei der Initialisierung
SaveWebcamPictureDIB(PChar('C:\test.jpg'),VideoHandle);
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Von Web-Kamera Bild speichern

  Alt 31. Jan 2008, 18:19
Ich habe jetzt mal was anderes im Forum gefunden, was anscheinend auch schon einige benutzt haben.

Das Projekt war auch als Zip dabei, wen ich die bereits kompallierte .exe benutze Funzt das mit meiner Cam.

Wenn ich versuche das Projekt selber zu kompalieren bekomm ich einen Fehler, woran könnte das liegen (Fehler angehängt).

Fehlerzeile im Code makiert

Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, clipbrd;

type
  TForm3 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
  VHandle : THandle;
const
WM_CAP_DRIVER_CONNECT = WM_USER + 10;
WM_CAP_DRIVER_DISCONNECT = WM_USER + 11;
WM_CAP_EDIT_COPY = WM_USER + 30;
WM_CAP_SET_PREVIEW = WM_USER + 50;
WM_CAP_SET_OVERLAY = WM_USER + 51;
WM_CAP_SET_PREVIEWRATE = WM_USER + 52;
implementation

{$R *.dfm}
function capCreateCaptureWindow(lpszWindowName: LPCSTR;
dwStyle: DWORD;
x, y,
nWidth,
nHeight: integer;
hwndParent: HWND;
nID: integer): HWND; stdcall;
external 'AVICAP32.DLLname 'capCreateCaptureWindowA';

procedure TForm3.Button1Click(Sender: TObject);
begin
//Bild in Zwischenablage kopieren
SendMessage(Vhandle, WM_CAP_EDIT_COPY, 1, 0 );
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SendMessage(Vhandle, WM_CAP_DRIVER_DISCONNECT, 0, 0);
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
Vhandle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,
0, 320, 240, Panel1.Handle, 1);
SendMessage(Vhandle, WM_CAP_DRIVER_CONNECT, 0, 0); //<----------Fehler
SendMessage(Vhandle, WM_CAP_SET_PREVIEWRATE, 30, 0); //<----------Fehler
sendMessage(Vhandle, WM_CAP_SET_OVERLAY, 1, 0);
SendMessage(Vhandle, wm_cap_set_preview, 1, 0);
Image1.Picture.Bitmap.PixelFormat := pf24Bit;
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#6

Re: Von Web-Kamera Bild speichern

  Alt 31. Jan 2008, 19:56
Hallo,

bei mir funktioniert der Code (D7).
Gruss
Rolf
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#7

Re: Von Web-Kamera Bild speichern

  Alt 31. Jan 2008, 21:34
was ich demletzt (was heißt demletzt - 3 Monate) gesehen habe ist die Einbindung einer beliebigen PC-Kamera mit der Bildübertragung an ein TImage. Grundlage dafür ist Direct3D / DirectX. Bie Grundbibliothek heißt Cloothy (bin mir nicht ganz sicher, falls ich bemerk, dass das anders heißt wird sofort verbessert) und hier irgendwo im Forum liegt so eine Anwendung rum. Man muss nur noch das Image zum richtigen Zeitpunkt speichern...


rollstuhlfahrer

PS anbei eine Testanwendung mit den entsprechenden Units. ist schon etwas älter, desshalb weiß ich nimmer wo ich sie her hab...
Angehängte Dateien
Dateityp: zip webcam_475.zip (975,6 KB, 82x aufgerufen)
Bernhard
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Von Web-Kamera Bild speichern

  Alt 31. Jan 2008, 22:44
Das ist eine ganz schöne Anwendung nur soviel brauch ich garnicht.

Nur Bild speichern.


Zitat von Rolf Rostig:
Hallo,

bei mir funktioniert der Code (D7).
Wie gesagt die .exe geht beim mir auch, nur ich kann die .dpr nicht kompalieren. D2007
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Von Web-Kamera Bild speichern

  Alt 1. Feb 2008, 19:10
Ich hänge hier nochmal das Projekt an was ich gefunden habe.

Wie gesagt beim Kompalieren des Projektes bekomme ich einen Fehler.
Wenn ich dann auf fortfahren klicke. Kompaliert Delphi das Projekt und ich sehe kein Bild nur Schwarz.

Wenn ich jetzt aber die Kopalierte exe ausführe sehe ich das Webcam bild auf dem Panel und ich kann auch ein Foto machen.

Woran liegt das
Angehängte Dateien
Dateityp: rar cam_196.rar (367,9 KB, 73x aufgerufen)
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz