3 个版本

使用旧 Rust 2015

0.1.2 2017 年 12 月 3 日
0.1.1 2015 年 11 月 5 日
0.1.0 2015 年 10 月 10 日

#639硬件支持

每月 45 次下载

MIT 许可证

41KB
705

gphoto

gphoto 包提供了对本地 libgphoto2 库的安全封装。

依赖

为了使用 gphoto 包,您必须有一个带有已安装的 libgphoto2 库的 Unix 系统,该库可以通过 pkg-config 找到。

在基于 Debian 的 Linux 发行版上,安装 libgphoto2-dev 软件包

sudo apt-get install libgphoto2-dev

在 OS X 上,使用 Homebrew 安装 libgphoto2

brew install libgphoto2

使用方法

Cargo.toml 中将 gphoto 添加为依赖项

[dependencies]
gphoto = "0.1.2"

导入 gphoto 包。几乎所有 gphoto 功能的起点是创建一个上下文对象。然后,您可以使用 Camera::autodetect() 函数自动检测相机

extern crate gphoto;

use std::path::Path;

fn main() {
    let mut context = gphoto::Context::new().unwrap();

    let mut camera = gphoto::Camera::autodetect(&mut context).unwrap();
    let capture = camera.capture_image(&mut context).unwrap();
    let mut file = gphoto::FileMedia::create(Path::new(&*capture.basename())).unwrap();

    camera.download(&mut context, &capture, &mut file).unwrap();
}

OS X 使用方法

OS X 在连接时会自动打开相机,这阻止了其他应用程序打开相机设备。当尝试打开操作系统已打开的相机时,您将收到如下错误消息

Could not claim the USB device

为了修复此问题,您必须在将相机连接到系统后杀死 PTPCamera 进程

killall PTPCamera

每个相机都使用 PTPCamera 应用程序的单独实例打开。如果您连接了多个相机,您可能希望单独杀死 PTPCamera 进程,而不是使用 killall

许可证

版权 © 2015 David Cuddeback

MIT 许可证 下分发。

注意: 使用此包时,您的可执行文件将链接到受 LGPL 2.1 版本 许可的 libgphoto2 C 库。

依赖

~86KB