0

我正在使用 CameraCaptureTask 拍照并将生成的图像保存到照片中心。我注意到,即使我在 Completed 事件中不执行任何操作,默认情况下,图片始终会使用标准命名方案保存到设备的“相机胶卷”中。保存前可以修改名字吗?注意我不想通过 MediaLibrary 保存另一个具有自定义名称的副本并且有重复项。如果没有,是否有另一种方法来获得可以满足此要求的结果图像和保存方法?

4

2 回答 2

0

快速而肮脏的答案,但你不能做这样的事情(即当文件返回给你时重命名文件)?

void test()
{
    CameraCaptureTask tsk = new CameraCaptureTask();
    tsk.Completed += tsk_Completed;
    tsk.Show();
}

void tsk_Completed(object sender, PhotoResult e)
{
    var fn = e.OriginalFileName;
    File.Move(fn, "newName.jpg");
}

注意未经测试

于 2013-11-11T13:25:32.723 回答
0

您不能使用CameraCaptureTask自定义名称保存图像。CameraRoll一旦图像被捕获并可用,它就会将图像保存到。

您可以改用它PhotoCamera来处理所有必需的事件。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202956(v=vs.105).aspx

您可以使用'函数将图像保存到其事件的CameraRoll文件夹中。您可以选择使用'函数将图片保存到文件夹。CaptureImageAvailableMediaLibarySavePictureToCameraRollSaved PicturesMediaLibrarySavePicture

您可以通过某些功能设置flash等,例如,focusoverridingShutterKeyHalfPressedShutterKeyPressedShutterKeyReleased

所以,理想情况下,这门课应该为你做所有事情CameraCaptureTask

于 2013-11-12T13:14:59.450 回答