我正在尝试创建一个可以从平板电脑摄像头捕获图像的metro应用程序。 但是在捕获时我想在图像上叠加日期戳。
/// <summary>
/// This is the click handler for the 'CaptureButton' button.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void CapturePhoto_Click(object sender, RoutedEventArgs e)
{
try
{
rootPage.NotifyUser("", NotifyType.StatusMessage);
// Using Windows.Media.Capture.CameraCaptureUI API to capture a photo
CameraCaptureUI dialog = new CameraCaptureUI();
Size aspectRatio = new Size(16, 9);
dialog.PhotoSettings.CroppedAspectRatio = aspectRatio;
StorageFile file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (file != null)
{
BitmapImage bitmapImage = new BitmapImage();
using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read))
{
bitmapImage.SetSource(fileStream);
}
// add code for text overlay here
CapturedPhoto.Source = bitmapImage;
ResetButton.Visibility = Visibility.Visible;
// Store the file path in Application Data
appSettings[photoKey] = file.Path;
}
else
{
rootPage.NotifyUser("No photo captured.", NotifyType.StatusMessage);
}
}
catch (Exception ex)
{
rootPage.NotifyUser(ex.Message, NotifyType.ErrorMessage);
}
}
通常在图像上添加文字我会使用。
Graphics g = Graphics.FromImage
然而,似乎System.Drawing已经消失了。我还可以使用什么来覆盖捕获图像上的文本?
答案 0 :(得分:0)
Windows.UI.Xaml没有直接的光栅图形API。您可以从WriteableBitmap或BitmapDecoder获取原始像素,但是没有高级方法可以在其上绘制它们。
有几种方法可以在图像上绘制文字:
我从Win2d开始,看看它是否可以满足您的需求。