Windows Phone 8.1在图像上写文本

丹尼尔·希策尔

所以我确实喜欢3小时的研究时间,却什么也没做。我在运行时将持有BitmapImage作为属性的对象。我想在此BitmapImage上写文本。如何使用C#和XAML做到这一点?

我读到一些有关能够构造WriteableBitmap和.render()方法的信息,但是我只在Windows.UI.Xaml.Media.Imaging命名空间中找到了WriteableBitmap类。

谁能阻止我摘录?

丹尼尔·希策尔

我找到了一种使图像中的文字起作用的好方法。我使用网格控件将一个Image和两个TextBox相互映射。确保先声明图像,这意味着先渲染图像。

<Grid Grid.Row="1" x:Name="Capture_Grid">
 <Image Binding="{Binding Image}" />

 <TextBox x:Name="UpperCaptionBorder_TextBox" Style="{StaticResource CaptionTextBoxStyle}" 
 Text="text" TextWrapping="Wrap" FontSize="32"
 HorizontalAlignment="Center" VerticalAlignment="Bottom"
 SelectionChanged="UpperCaption_TextBox_SelectionChanged"
 />

 <TextBox x:Name="LowerCaptionBorder_TextBox" Style="{StaticResource CaptionTextBoxStyle}" 
 Text="text" TextWrapping="Wrap" FontSize="32"
 HorizontalAlignment="Center" VerticalAlignment="Bottom"
 SelectionChanged="LowerCaption_TextBox_SelectionChanged"
 />
</Grid>

然后,我可以将整个Grid控件另存为“ Scresn Shot”,但宽度和高度将仅与Grid实际一样。

        RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
        await renderTargetBitmap.RenderAsync(Capture_Grid);
        var pixels = await renderTargetBitmap.GetPixelsAsync();
        Grid element = Capture_Grid;

//文件扩展名更正

        var file = await KnownFolders.PicturesLibrary.CreateFileAsync("pic.png", CreationCollisionOption.ReplaceExisting);

        using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite))
        {
            var encoder = await
                BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
            byte[] bytes = pixels.ToArray();
            encoder.SetPixelData(BitmapPixelFormat.Bgra8,
                                 BitmapAlphaMode.Ignore,
                                 (uint)renderTargetBitmap.PixelWidth,
                                    (uint)renderTargetBitmap.PixelHeight,
                                 96, 96, bytes);

            await encoder.FlushAsync();
        }

它还将图像(网格+ 2个文本框)保存在图像中心中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows Phone 8上的图像动画

来自分类Dev

Windows Phone 8图像绑定

来自分类Dev

在Windows Phone 8.1上运行Windows Phone 8应用

来自分类Dev

本机Windows Phone 8图像API

来自分类Dev

Windows Phone 8图像超链接

来自分类Dev

在Windows Phone 8中更新图像控件

来自分类Dev

Windows Phone 8上的语音命令

来自分类Dev

Windows Phone 8上的模糊太慢

来自分类Dev

Windows Phone 8上的Expression <TDelegate> .Compile()

来自分类Dev

Windows Phone 8上的DirectX调试层

来自分类Dev

Windows Phone 8上的UnityPlayer崩溃

来自分类Dev

UI Windows Phone 8上的异步更新

来自分类Dev

在Windows Phone 8上使用Cookie

来自分类Dev

Windows Phone 8上的SQLite错误

来自分类Dev

Windows Phone 8记录

来自分类Dev

Windows Phone 8的LockScreen

来自分类Dev

Windows Phone 8记录

来自分类Dev

如何确定Windows Phone 8(.1)上的蓝牙是否打开

来自分类Dev

在Windows Phone上使用WNS Silverlight 8.1-MPNS在Windows Phone 8上

来自分类Dev

通过Windows Phone 8中的C#在单个可写位图图像中合并文本和图像

来自分类Dev

Windows Phone 8应用程序可以在Windows Phone 8.1上运行吗

来自分类Dev

Windows Phone 8应用程序可以在Windows Phone 8.1上运行吗

来自分类Dev

图像作为地图上的图钉-Windows Phone 8

来自分类Dev

如何在Windows Phone 8中旋转图像?

来自分类Dev

在Windows Phone 8中以网格视图显示图像

来自分类Dev

Windows Phone 8:从Assets文件夹共享图像

来自分类Dev

在Windows Phone 8中以网格视图显示图像

来自分类Dev

图像未显示在Windows Phone 8 App中

来自分类Dev

如何在Windows Phone 8中水平滚动图像