UWP(Windows 10の場合)のテンプレートイメージにテキストを描画してから、イメージを保存できるようにします印刷するか共有する)。イメージにテキストを描画し、UWPを使用して保存する方法(Windows 10の場合)
私はキャンバスコントロール、さらには、ナゲットのWin2Dパッケージで遊んだことがあります。これを行うための最善の方法が何であるかについての示唆は高く評価されます。私が中止した箇所のサンプルコードは以下の通りです。
XAML
<Page
x:Class="DrawTextExample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:DrawTextExample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:canvas="using:Microsoft.Graphics.Canvas.UI.Xaml"
mc:Ignorable="d">
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Name="btnSaveImage" Content="Save the image" Margin="10" Click="btnSaveImage_Click" />
<Grid Name="MyCreatedImage">
<Image Name="imgName" Stretch="UniformToFill" Source="Assets/HelloMyNameIs.jpg" />
<TextBlock Name="lblName" Text="McFly" Margin="20,100,20,20" FontSize="36"/>
</Grid>
</StackPanel>
コード
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media.Imaging;
namespace DrawTextExample {
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async void btnSaveImage_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) {
var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(MyCreatedImage);
}
}
}
の後ろ
白い背景に白いテキストを描いただけではありませんか? – Clemens
いいえ、上記の画像はコード内で参照されていますので、すべての部分が利用可能であることを保証するために含めました。プログラムを実行すると、lblNameと呼ばれるTextBlockに "McFly"というテキストが黒いテキストとして表示されます。 – ThePeter