佳能SDK求助

xetwo 2012-04-16 11:07:54
SDK中的 kEdsPropID_FocalLength是做什么用的,调整焦距是用这个吗,请指教。
就是想实现相机套件里“对焦”那里的功能
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xetwo 2012-04-16
  • 打赏
  • 举报
回复
对,应该是这个,谢谢
mdejtod 2012-04-16
  • 打赏
  • 举报
回复
procedure TForm1.btn3Click(Sender: TObject);
var lens: EdsEvfDriveLens;
err: EdsError;
begin
case TControl(Sender).Tag of
0: lens := kEdsEvfDriveLens_Near3;
1: lens := kEdsEvfDriveLens_Near2;
2: lens := kEdsEvfDriveLens_Near1;
3: lens := kEdsEvfDriveLens_Far1;
4: lens := kEdsEvfDriveLens_Far2;
5: lens := kEdsEvfDriveLens_Far3;
end;
err := GCamera.SendCommand(kEdsCameraCommand_DriveLensEvf, Ord(lens));
end;
type
EdsEvfDriveLens = (kEdsEvfDriveLens_Near1 = $00000001,
kEdsEvfDriveLens_Near2 = $00000002,
kEdsEvfDriveLens_Near3 = $00000003,
kEdsEvfDriveLens_Far1 = $00008001,
kEdsEvfDriveLens_Far2 = $00008002,
kEdsEvfDriveLens_Far3 = $00008003);
const
kEdsCameraCommand_DriveLensEvf = $00000103;
<<< << < > >> >>
对应的TAG分别为0..5
xetwo 2012-04-16
  • 打赏
  • 举报
回复
不是自动对焦,是可以控制调整焦距远近的那个功能,三个调远的,三个调近的
mdejtod 2012-04-16
  • 打赏
  • 举报
回复
自动对焦:
err := SendCommand(kEdsCameraCommand_DoEvfAf, Ord(kEdsCameraCommand_EvfAf_ON));
delay(5000);
err := SendCommand(kEdsCameraCommand_DoEvfAf, Ord(kEdsCameraCommand_EvfAf_OFF));
//600d以后的相机在拍照前会自动对焦,不需要调用代码.....
const
kEdsCameraCommand_DoEvfAf = $00000102;
type
EdsEvfAf = (kEdsCameraCommand_EvfAf_OFF = 0, kEdsCameraCommand_EvfAf_ON = 1);
mdejtod 2012-04-16
  • 打赏
  • 举报
回复
我记得之前有回复过你,怎么自动对焦的吧
kaikai_kk 2012-04-16
  • 打赏
  • 举报
回复
不清楚,自己找找看有沒有說明文檔

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧