标签: inkcanvas

Wpf InkCanvas 将斯托克斯保存为 svg

是否可以将 InkCanvas 笔触集合保存到 svg 图像?我唯一能找到的是,我可以将笔画保存为带有嵌入式 ISF(墨水序列化格式)的 GIF,或者将它们呈现为位图。我想以可以与其他平台(如 Web)互操作的矢量格式保存笔画。

c# wpf svg inkcanvas

4
推荐指数
1
解决办法
1395
查看次数

在WPF中使用UWP控件

我需要在WPF应用程序中使用InkCanvas(它是UWP Windows.UI.Xaml.Controls的一部分).我知道WPF也有InkCanvas,但它们完全不同.UWP InkCanvas还有InkAnalyzer,我需要手写识别.

我创建了一个新的WPF应用程序并添加了以下参考:

  • ...磊\ V4.5\System.Runtime.WindowsRuntime.dll
  • ...磊\ V4.5\System.Runtime.WindowsRuntime.UI.Xaml.dll
  • Windows.Foundation.FoundationContract.winmd
  • Windows.Foundation.UniversalApiContract.winmd

在MainWindow.xaml.cs当我尝试创建一个新的InkCanvas时,我收到一个错误:

System.Exception:'应用程序调用了为不同线程编组的接口.(来自HRESULT的异常:0x8001010E(RPC_E_WRONG_THREAD))'

public MainWindow()
{
    InitializeComponent();

    Windows.UI.Xaml.Controls.InkCanvas myPage = new Windows.UI.Xaml.Controls.InkCanvas();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法在WPF应用程序中使用UWP控件(特别是我的情况下的InkCanvas)?

wpf xaml inkcanvas uwp

4
推荐指数
1
解决办法
1614
查看次数

InkCanvas加载/保存操作

我之前从未使用过InkCanvas控件.我需要的是加载一个文件InkCanvas,绘制一些涂鸦并得到结果图像.我想用获得的图像做一些额外的操作.

至于储蓄

如我错了请纠正我.我找到了一个链接:http://www.centrolutions.com/Blog/post/2008/12/09/Convert-WPF-InkCanvas-to-Bitmap.aspx 根据帖子将加载图片考虑除了用户涂鸦.或者它只将涂鸦转换为位图?

至于装货

如何使用OpenFileDialog加载图像?我不想使用ISF.

谢谢!

c# wpf file bitmap inkcanvas

3
推荐指数
1
解决办法
8838
查看次数

如何在wpf画布上绘制自由形状(随机)和文本打印

我正在开发一个涂料应用程序.我使用Canvas控件作为白板.

我想在WPF画布中使用InkCanvas类功能,意味着我想在Canvas上绘制一个自由形状.我怎样才能做到这一点 ?我也想保存为*.JPG

第二个问题是像我们在MS Paint中那样绘制字体?我可以在其中集成FontDialogBox吗?如果是,怎么样?

感谢您 !!!

.net wpf drawing canvas inkcanvas

3
推荐指数
1
解决办法
3324
查看次数

将inkCanvas中的图像保存为png或jpeg文件

Here is my wpf code <InkCanvas x:Name="inkCanvas" Margin="9,325,210,193" Background="Azure"></InkCanvas> And also there is a button When pressing the button, i want to save image drawn to a file. here is my code

  private void button1_Click(object sender, RoutedEventArgs e)
    {
        int margin = (int)inkCanvas.Margin.Left;
        int width = (int)inkCanvas.ActualWidth - margin;
        int height = (int)inkCanvas.ActualHeight - margin;
        RenderTargetBitmap rtb = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Default);
        rtb.Render(inkCanvas);


        using (FileStream fs = new FileStream("path", FileMode.Create))
        {
            BitmapEncoder encoder = new PngBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(rtb));
            encoder.Save(fs); …
Run Code Online (Sandbox Code Playgroud)

c# wpf png save inkcanvas

3
推荐指数
1
解决办法
2453
查看次数

InkCanvas上的MouseLeftButtonDown事件

嗨,我不知道为什么它不起作用.看起来我无法在InkCanvas上使用此事件.

XAML

<Window x:Class="PolyLine.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<StackPanel >
    <Button Name="Button1">Clear</Button>
    <InkCanvas x:Name="MC" MouseLeftButtonDown="MC_MouseLeftButtonDown" MouseRightButtonDown="MC_MouseRightButtonDown" MouseMove="MC_MouseMove" Background="White"  Height="300" Width="497" ></InkCanvas>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

代码背后

private void MC_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    polylinePoints.Add(e.GetPosition(MC));
}
Run Code Online (Sandbox Code Playgroud)

c# wpf inkcanvas

2
推荐指数
1
解决办法
1372
查看次数

WPF 墨水画布多点触控?

我正在为触摸屏创建一个简单的绘画应用程序,并且我一直在努力使用多点触控手势在墨画布内进行缩放和旋转,但我还没有找到解决方案。

有没有一种在inkcanvas中提供多点触控手势的简单方法?

c# wpf multi-touch inkcanvas

2
推荐指数
1
解决办法
1099
查看次数

WPF和XAML问题

我是WPF和Xaml的新手我不知道如何锚定如何停靠...在这个屏幕上灰色是statusBar停靠但网格和菜单并非所有组件都在画布中.这是XAML

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication6.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">

<Grid x:Name="LayoutRoot">
    <Canvas>
        <StackPanel Height="40" Width="624" VerticalAlignment="Top" HorizontalAlignment="Center">
            <Menu Height="39" Margin="1,0,0,0">
                <Menu.Background>
                    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFF6F6F6" Offset="0.25"/>
                        <GradientStop Color="#FFEAE8E8" Offset="0.25"/>
                        <GradientStop Color="#FFDCD9D9" Offset="0.8"/>
                        <GradientStop Color="White" Offset="1"/>
                    </LinearGradientBrush>
                </Menu.Background>
            </Menu>
        </StackPanel>
        <StackPanel Height="356" Canvas.Top="44" Width="161" HorizontalAlignment="Left">
            <Expander Header="Expander" Height="107">
                <Grid Background="#FFE5E5E5"/>
            </Expander>
        </StackPanel>
        <StackPanel Height="360" Canvas.Left="161" Canvas.Top="40" Width="463">
            <DataGrid Height="361"/>
        </StackPanel>
    </Canvas>
    <StackPanel Height="40" Margin="-1,0,0,0" VerticalAlignment="Bottom">
        <StatusBar Height="40" Background="#FF897676"/>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

替代文字

wpf xaml inkcanvas

1
推荐指数
1
解决办法
595
查看次数

清除 InkCanvas [UWP]

我想向我的 UWP 应用程序添加一个按钮,以删除 中的所有笔划InkCanvas,但建议的方法inkCanvas.InkPresenter.Strokes.Clear()未被识别为有效命令,它是否已过时,或者我做错了什么?

c# inkcanvas uwp

1
推荐指数
1
解决办法
2826
查看次数

在流中保存和加载 Ink Canvas StrokeCollection

我正在尝试在 WPF 中序列化墨水画布。所以我使用StrokeCollection.Save将笔画保存到MemoryStream. 但是当我尝试将流加载到InkCanvas我得到一个ArgumentException声明“ISF 数据的长度必须大于零”。
这是代码示例:

using (MemoryStream ms = new MemoryStream())
{
    inkcanvas.Strokes.Save(ms);
    inkcanvas.Strokes = new System.Windows.Ink.StrokeCollection(ms);
}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

c# wpf serialization inkcanvas

0
推荐指数
1
解决办法
2043
查看次数

如何在Windows通用中更改已绘制的InkStrokes的颜色

我在InkCanvas上画了一些墨水笔画,现在我想改变笔的颜色.我可以使用CopyDefaultDrawingAttributes和UpdateDefaultDrawingAttributes更改我绘制的任何其他笔划的颜色,并且工作正常.但是,如何更改已存在的笔画颜色StrokeContainer?我试过了:

        foreach (InkStroke stroke in inkCanvas.InkPresenter.StrokeContainer.GetStrokes())
        {
            stroke.DrawingAttributes.Color = strokeColour;
        };
Run Code Online (Sandbox Code Playgroud)

此代码执行时没有异常,但stroke.DrawingAttributes.Color仍显示以前的颜色.

有任何想法吗?

谢谢...

罗伯特

windows pen inkcanvas uwp

-1
推荐指数
1
解决办法
467
查看次数

标签 统计

inkcanvas ×11

wpf ×9

c# ×7

uwp ×3

xaml ×2

.net ×1

bitmap ×1

canvas ×1

drawing ×1

file ×1

multi-touch ×1

pen ×1

png ×1

save ×1

serialization ×1

svg ×1

windows ×1