Como controlar uma câmera com Delphi

votos
3

A programm Delphi deve fazer fotos produkt com uma Nikon D5000AF SDX. Os únicos comandos que eu preciso são fazer uma foto, me a foto.

Qual biblioteca ou API pode me ajudar?

Publicado 06/01/2010 em 12:43
fonte usuário
Em outras línguas...                            


3 respostas

votos
11

@Heinz, para controlar um dispositivo você deve usar um SDK, que deve ser fornecido pelo fabricante do dispositivo.

da Nikon local:

.... Estamos oferecendo programas de biblioteca e Especificações da API de comando para aplicativos de software que oferecem funções de controle remoto para câmeras Nikon digital SLR conectados a um computador. Quando estes são utilizados, a aplicação de software pode ser utilizado para modificar as definições da câmara, incluindo a velocidade do obturador, e a sensibilidade ISO, e para controlar as operações da câmara, incluindo a libertação do obturador.

em esta página, você pode encontrar o SDK para as câmeras Nikon, incluindo a série D5000.

Tchau.

Respondeu 06/01/2010 em 12:53
fonte usuário

votos
8

Aconselho usando a API WIA (Windows Image Acquisition). Para isso, você precisa do arquivo "WIALib_TLB.pas" que serão criadas pela Delphi automaticamente quando seguir estes passos:

  1. Selecione "Project> Import Type Library" a partir do Menu
  2. Selecione "" Microsoft Windows Image Acquisition 1,01 Type Library" na lista
  3. Escolha "Criar Unidade"
  4. Você vai então receber os "WIALib_TLB.pas" unidade

Use o código a partir do seguinte URL para ver como você pode enumerar os dispositivos disponíveis e suas propriedades e tirar uma foto com a câmera.

http://www.neunbeere.de/UseNet/WIA.html

Desculpe, os comentários são em alemão, mas eu acho que o código é fácil de entender

Respondeu 06/01/2010 em 20:14
fonte usuário

votos
1
  • você pode usar WIA (Windows aquisição de imagem)
  • do componente de menu componente selecione importar e selecione Windows aquisição de imagem e instalá-lo
  • ou baixar e adicionar ao seu projeto
  • então
  • se você estiver uso win xp
  • iniciar novo projeto e colocá
  • novo botão chamado Button1
  • novo CheckBox chamado Multipic
  • e copiar o bacalhau e passado em Button1

o bacalhau:

procedure TForm1.Button1Click(Sender: TObject);
var
   wia:IWia;
   WiaInf: IWiaDeviceInfo;
   wiaImg: IWiaDispatchItem;
   I:integer;
   Coll: ICollection;
begin
  wia:=CoWia.Create;
  WiaInf:= WIA.Devices.Item[0] as IWiaDeviceInfo;
  wiaImg:=WiaInf.Create;
  if MultiPic.Checked then
  begin
    coll:=wiaImg.GetItemsFromUI(UseCommonUI, MaximizeQuality);
    for I := 0 to coll.Count - 1 do
      begin
        wiaImg:=coll.Item[i]  as IWiaDispatchItem ;
        wiaImg.Transfer('C:\Source\test'+inttostr(i)+'.bmp',false);
      end;
  end
  else
  begin
    wiaImg:=wiaImg.GetItemsFromUI(SingleImage, MaximizeQuality).Item[0]  as IWiaDispatchItem ;
    wiaImg.Transfer('C:\Source\test.bmp',false);
  end;
end;
  • eu uso CheckBox ao usuário determinar se ele quer 1 foto ou múltiplas fotos

  • você pode carregar a imagem / s para a imagem por LoadFromFile

Respondeu 09/05/2012 em 16:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more