Delphi程序应使用尼康D5000AF SDX拍摄产品照片。我需要的唯一命令是“拍照”,“把照片拿给我”。
哪个库或API可以帮助我?
答案 0 :(得分:11)
@Heinz,要控制必须使用SDK的设备,必须由设备制造商提供。
来自nikon网站:
....我们正在提供图书馆计划 和命令API规范 提供的软件应用程序 尼康的遥控功能 数码单反相机连接到 电脑。当这些被利用时, 软件应用程序可用于 修改相机设置,包括 快门速度,光圈和ISO 灵敏度,并控制相机 操作,包括快门释放。
在this页面中,您可以找到适用于尼康相机的SDK,包括D5000系列。
再见。
答案 1 :(得分:8)
我建议使用WIA(Windows Image Acquisition)API。为此,您需要文件“WIALib_TLB.pas”,这将由Delphi在执行以下步骤时自动创建:
使用以下网址中的代码,了解如何枚举可用设备及其属性,并使用相机拍摄快照。
http://www.neunbeere.de/UseNet/WIA.html
很抱歉,评论是德语,但我认为代码很容易理解
答案 2 :(得分:1)
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;
我使用CheckBox为用户确定他是想要1张图片还是多张图片 图片
您可以通过 loadfromfile