我使用CameraCaptureTask拍摄一张照片,并将结果图像保存到照片集线器。我注意到,即使在已完成的事件中不执行任何操作,默认情况下,图片也会以标准命名方案保存到设备的相机滚筒中。在保存之前可以修改名称吗?注意,我不想通过MediaLibrary保存另一个带有自定义名称的副本,并且具有副本。如果没有,是否有另一种方法可以获得结果映像和保存方法来满足这一要求?
发布于 2013-11-12 13:14:59
不能使用CameraCaptureTask保存带有自定义名称的图像。一旦图像被捕获和可用,它就会将图像保存到CameraRoll。
您可以使用PhotoCamera来处理所有需要的事件。
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202956(v=vs.105).aspx
您可以使用CameraRoll的SavePictureToCameraRoll函数将图像保存到其CaptureImageAvailable事件上的Saved Pictures文件夹,也可以使用MediaLibrary的SavePicture函数将图片保存到Saved Pictures文件夹中。
您可以通过flash、focus等overriding设置某些函数,如ShutterKeyHalfPressed、ShutterKeyPressed、ShutterKeyReleased
因此,理想情况下,这个类应该为您完成CameraCaptureTask所做的一切。
发布于 2013-11-11 13:25:32
快速和肮脏的回答,但你不能这样做(即重命名的文件,当它回到你)?
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");
}注:未经测试
https://stackoverflow.com/questions/19907338
复制相似问题