我想在WP7上使用CameraCaptureTask,以便从手机上获取图像并对其进行操作。我的代码是:
CameraCaptureTask cameraCaptureTask;
public MainPage()
{
InitializeComponent();
try
{
cameraCaptureTask = new CameraCaptureTask();
cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
}
catch (System.InvalidOperationException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
cameraCaptureTask.Show();
}
catch (System.InvalidOperationException ex)
{
MessageBox.Show(ex.Message);
}
}
void cameraCaptureTask_Completed(object sender, PhotoResult e)
{
MessageBox.Show("event: " + e.TaskResult.ToString());
if (e.TaskResult == TaskResult.OK)
{
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ChosenPhoto);
image1.Source = bmp;
}
}
}问题是,每次我单击button1时,事件都会被引发,但值是TaskResult.Cancel instad of OK。此外,手机中没有显示摄像头。
有什么想法吗?谢谢
发布于 2011-04-01 17:44:23
您是否在附加调试器的情况下运行?如果是这样,当您使用Zune软件连接到设备时,摄像机将无法工作。
如果您使用WPConnect工具进行连接,那么它应该可以工作。
发布于 2013-12-10 14:26:51
你可以试试这个。
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
cameraCaptureTask = new CameraCaptureTask();
cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
cameraCaptureTask.Show();
}
catch (System.InvalidOperationException ex)
{
MessageBox.Show(ex.Message);
}
}
void cameraCaptureTask_Completed(object sender, PhotoResult e)
{
MessageBox.Show("event: " + e.TaskResult.ToString());
if (e.TaskResult == TaskResult.OK)
{
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ChosenPhoto);
image1.Source = bmp;
}
}发布于 2013-09-03 16:54:43
尝尝这个。
void ctask_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
{
//Take JPEG stream and decode into a WriteableBitmap object
App.CapturedImage = PictureDecoder.DecodeJpeg(e.ChosenPhoto);
//Collapse visibility on the progress bar once writeable bitmap is visible.
progressBar1.Visibility = Visibility.Collapsed;
//Populate image control with WriteableBitmap object.
ImageMain.Source = App.CapturedImage;
}
}https://stackoverflow.com/questions/5511228
复制相似问题