Windows Phone - 如何在照片上绘制文字?

时间:2014-12-16 16:26:02

标签: windows-phone-8 windows-phone windows-phone-8.1

我正在将应用从Android移植到Windows Phone 8.1。我需要从手机的图库中获取照片,将文字放在照片上,然后将带有文字的照片保存回图库。在Android上我已经能够做到这一点,但在Windows Phone上我不知道如何做到这一点。

有什么想法吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

RenderTargetBitmap提供了一种从可视树的一部分创建位图的简单方法。这意味着您必须在选择后向用户显示图像,然后再保存回图库。如果这是可以接受的,那么这里是XAML / Code。

此示例并未显示如何使用图库。

<强> XAML

<Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height='10*' />
      <RowDefinition Height='10*' />
      <RowDefinition Height='2*' />
    </Grid.RowDefinitions>
    <Grid x:Name='SourceGrid'
          Margin='10'>
      <Image x:Name='image1'
             Source='Assets/world.jpg' />
      <TextBlock Text=''
                 FontSize='20'
                 HorizontalAlignment='Center'
                 VerticalAlignment='Bottom'
                 x:Name='SourceText' />
    </Grid>
    <Image x:Name='image2'
           Source='Assets/world.jpg'
           Grid.Row='1'
           Margin='10' />
    <Button Content='Add Text'
            Grid.Row='2'
            HorizontalAlignment='Center'
            Click='Button_Click' />

  </Grid>

<强>代码

 private async void Button_Click(object sender, RoutedEventArgs e) {
      var tempBmp = new RenderTargetBitmap();

      SourceText.Text = DateTime.Now.ToString("D");
      await tempBmp.RenderAsync(SourceGrid);
      SourceText.Text = string.Empty;
      image2.Source = tempBmp;

    }

<强>截图

Screenshot