WPF中GDI+图形图像的绘制:(四)绘制图像——水平垂直镜像与中心旋转

首先上实现的动态效果:

步骤:1、在窗体上添加控制控件:

    <Label Grid.Row="2" Grid.Column="0" Content="镜像" VerticalAlignment="Center" HorizontalAlignment="Left"></Label>
    <Button x:Name="btnMirrorHorizontal" Grid.Row="2" Grid.Column="1" Content="水平" VerticalAlignment="Center" HorizontalAlignment="Left" Height="26" Width="80" Click="btnMirrorHorizontal_Click"></Button>
    <Button x:Name="btnMirrorVertical" Grid.Row="2" Grid.Column="1" Content="垂直" VerticalAlignment="Center" HorizontalAlignment="Left" Height="26" Width="80" Margin="100,0,0,0" Click="btnMirrorVertical_Click"></Button>
    <Label Grid.Row="3" Grid.Column="0" Content="中心旋转" VerticalAlignment="Center" HorizontalAlignment="Left"></Label>
    <WindowsFormsHost Grid.Row="3" Grid.Column="1" Height="26" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left">
        <wf:NumericUpDown x:Name="numAngle" Value="0" Maximum="360" Minimum="0" ValueChanged="numAngle_ValueChanged"/>
    </WindowsFormsHost>

2、修改图片处理类型枚举,添加水平垂直镜像、中心旋转类型:

        public enum ImageProcessingEffect
        {
            Normal = 0,//原始图片
            Emboss = 1,//浮雕
            Sharpening = 2,//锐化
            BlackAndWhite = 3,//黑白
            MirrorHorizontal = 4,//水平镜像
            MirrorVertical = 5,//垂直镜像
            CenterRotate = 6//中心旋转
        }

3、添加水平垂直镜像、中心旋转图像处理方法:

        /// <summary>
        /// 水平镜像
        /// </summary>
        private BitmapImage MirrorHorizontal()
        {
            try
            {
                System.Drawing.Bitmap tempImage = new System.Drawing.Bitmap(this.imgSource.StreamSource)
WPF(Windows Presentation Foundation)是一种用于创建用户界面的技术,而GDI(Graphics Device Interface)是一种用于绘制图形的API。在WPF中,可以使用GDI绘制图形,通过使用GDI绘制图形,我们可以实现更加定制化和高级的图形效果。 在WPF中,可以使用GDI绘制各种类型的图形,如直线、矩形、椭圆、多边形等。通过使用GDI,我们可以设置各种样式和属性,例如线条的颜色、线宽、填充颜色等,以及阴影、渐变等效果。使用GDI绘制图形的过程是通过在WPF中创建一个GDI绘图对象,然后调用其相应的方法和属性来实现绘制。 在使用GDI绘制图形时,需要注意GDI是基于像素的,因此绘制的图形会受到屏幕分辨率的影响。在WPF中,可以使用Transform矩阵类来实现图形的缩放、平移和旋转等操作,以适应不同分辨率的屏幕。 尽管WPF本身提供了丰富的图形绘制功能,但在某些情况下,使用GDI绘制图形可能会更加灵活和高效。例如,如果需要实现一些特殊的效果,如镜像、叠加等,可以使用GDI来实现。此外,如果需要现有的GDI代码进行交互,使用GDI绘制图形也是一种不错的选择。 总之,使用WPFGDI结合绘制图形,可以实现更加丰富和高级的效果。通过使用GDI绘制图形,我们可以更好地控制图形的样式和属性,并且可以适应不同的分辨率和交互需求。这种组合使用可以使我们在图形绘制方面拥有更大的灵活性和创造力。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RunnerDNA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值