添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

wpf画矩形和划线时需要横向放大或者纵向放大,导致线宽不相等,如下图所示

1.矩形代码如下

            <Rectangle Width="100" Height="100" Stroke="Black" Canvas.Top="20">
                <Rectangle.RenderTransform>
                    <ScaleTransform ScaleX="3" ScaleY="1"/>
                </Rectangle.RenderTransform>
            </Rectangle>

效果图如下

2.折现代码如下

            <Polyline Points="0 0 20 100 30 0 40 100 50 100 60 0" Stroke="Black" Canvas.Top="20">
                <Polyline.RenderTransform>
                    <ScaleTransform ScaleX="3" ScaleY="1"/>
                </Polyline.RenderTransform>
            </Polyline>

效果图如下

3.使用path划线有2种方法

一种是StreamGeometry,另一种是PathFigureCollection

3.1 StreamGeometry 画法

            <Path Data="M 0 0 20 100 30 0 40 100 50 100 60 0" Stroke="Black" Canvas.Top="20">
                <Path.RenderTransform>
                    <ScaleTransform ScaleX="3" ScaleY="1"/>
                </Path.RenderTransform>
            </Path>

3.2 PathFigureCollection画法:

            <Path Stroke="Black" Canvas.Top="40" >
                <Path.Data>
                    <PathGeometry Figures="M 0 0 20 100 30 0 40 100 50 100 60 0" >
                        <PathGeometry.Transform>
                            <ScaleTransform ScaleX="3" ScaleY="2"></ScaleTransform>
                        </PathGeometry.Transform>
                    </PathGeometry>
                </Path.Data>
            </Path>

1.如果横向缩放和纵向缩放一定是相等的,那么可以采用在缩放的过程中,同时改变线宽, 使Scale * StrokeThickness = 固定值 就可以了

2.如果横向缩放和纵向缩放不相等就可以采用path的方法,而且必须是PathFigureCollection的画法

3.最笨的方法就是重新计算点,但性能必然降低

WPF 有五种基本变换,分别是RotateTransform:旋转变换、ScaleTransform: 变换、SkewTransform:倾斜变换、TranslateTransform:移动变换、TransformGroup:变换组 WPF 图片的拖拽、移动和 事件是比较常用的,主要是通过操作前端的TransformGroup实现图片常用事件,回调函数不影响主要功能 前端代码(.xmal / .xaml.cs) // .xaml <UserControl.Resources> <conv:ImageConverter2 x:Key="imageConv"></conv:ImageConverter2> <TransformGroup x:Name="tra 大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com 萝卜鼠在 线 图形图像处理--------------------------------------------------------------老规矩,看图说话。先看显示效果:(图1)XAML(代码A):http://schemas.microsoft.com/winfx/2006/xam   在 WPF 用户界面中,绘制2D图形内容的最简单方法是使用形状(shape)——专门用于表示简单的直 线 、椭圆、矩形以及多变形的一些类。从技术角度看,形状就是所谓的绘图图元(primitive)。可组合这些基本元素来创建更复杂的图形。   关于 WPF 中形状的重要细节是,它们都继承自FrameworkElement类。因此,形状是元素。这样会带来许多重要的结果:   形状绘制自身。不需要管理无效的... WPF 的出现可谓是程序员们的福音,因为不但像阴影、发光这种简单效果可以使用一两个属性实现,就连通道、动态模糊这些高级的效果也可以轻松驾驭。同时设计师和程序员还可以像为Photoshop开发滤镜一样为 WPF 开发效果类库,届时只要把类库引用到项目中就可以使用其中的效果了。在UIElement类的成员中你可以找到BitmapEffect 和 Effect这两个属性,这两个属性都能用来为UI元素添加效果。你可能会问:为做同一件事准备了两个属性,难道不冲突吗?答案是:的确冲突。 01 Viewbox Viewbox与border类似,可以接受一个子元素,并对子元素进行 。Viewbox较多的应用场景是对形状进行 处理,例如在Canvas面板中绘制了Ellipse椭圆,当Viewbox的size变化时,椭圆能够跟随变化。而绘制形状具有精确的坐标,即形状是具有固定的大小。如果没有Viewbox,形状的尺寸是不会跟随变化的。 左侧的圆形在Viewbox下,会随着窗体的大小变化而变化,而右侧在窗体变化时,并不会自动改变。由此可以看到,Viewbox在自身size变化时,会按照比例对子元