怎么使用WPF 截图啊??好心的给个源码呗,急着用呢!!!

怎么使用WPF 截图啊??好心的给个源码呗,急着用呢!!!,第1张

你说枣搭的截图是剪裁图形吗?Image类用于在WPF中显示位图图像。Source属性获取图像文件名。Clip属性对图像裁剪,下面的例子将凳乎把凳粗拿图像裁剪成椭圆形。

<Image Source="Tulips.jpg" Width="200" Height="150" HorizontalAlignment="Left">

<Image.Clip>

<EllipseGeometry RadiusX="100" RadiusY="75" Center="100,75"/>

</Image.Clip>

</Image>

项目上需要绘制坐标轨迹,找开源组件也是费尽周折,最后发现睁丛Canvas + Polyline就可以基本的轨迹功能。为使轨迹不过于单调增加了网格线或宏背景。

学习WPF: 第6个月。

网格线的绘制主要依赖窗口的宽高和设定的间隔计算,画多少行,画多少悉团樱列,画多长,画多高。

支持窗口缩放只要是监听 SizeChanged 的回调事件,窗口尺寸变化,实现重绘和更新。

封装成工具类, 源码 。

如果是Canvas的话,可以这样试试:

使用Canvas_PreviewMouseLeftButtonDown事件,通过事件参数e记录下鼠标点击的坐标(例如在窗口类中添加一个私有字段:lineStartPoint);同时将准备的某个开关变量(例如可以取名为:isDrawingLine)桐谨举值置为true。

然后在Canvas_PreviewMouseLeftButtonUp事件中,检查此开关变量,一旦发现此变量为真,就再取鼠标指针坐标(可以叫做:lineEndPoint);比较两个坐标,如果不是距离近到分不清,就画线。画线可以直接new一个Line对象并加入到Canvas.Children中局碧,然后设置其X1/Y1/X2/Y2;画线后立即取消开关字段的真值

这个办法应该可以画出一条线,但是不是正好是你需要的我就没把握了。

在此过程中,如果要看到动态效果,还可以考虑Canvas_MouseMove事件代替Canvas_PreviewMouseLeftButtonUp来取坐标(但要注意只添加一次Line);

而Canvas_PreviewMouseLeftButtonUp则用以取消开关变量的真值,以结束画图。

如果重视细节,可以再加上Canvas_MouseLeave这两个事件来取消开关晌枝字段的真值,并结束绘制。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12295147.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存