iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#如何使用Effects给图片增加阴影效果
  • 681
分享到

C#如何使用Effects给图片增加阴影效果

2023-07-02 10:07:10 681人浏览 安东尼
摘要

这篇文章主要讲解了“C#如何使用Effects给图片增加阴影效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何使用Effects给图片增加阴影效果”吧!代码如下: &nbs

这篇文章主要讲解了“C#如何使用Effects给图片增加阴影效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何使用Effects给图片增加阴影效果”吧!

代码如下:

    using (var imageStreamSource = File.OpenRead(@"r:\4.png"))    using (Stream fs = File.Create(@"r:\test.png"))    {        var decoder = BitmapDecoder.Create(imageStreamSource, BitmapCreateOptions.PreservePixelFORMat, BitmapCacheOption.Default);        var bitmapFrame = decoder.Frames[0];        var size = new Size(bitmapFrame.PixelWidth, bitmapFrame.PixelHeight);        var img = new Image() { Source = bitmapFrame };        img.Effect = new System.windows.Media.Effects.DropShadowEffect();        img.Arrange(new Rect(0,0,bitmapFrame.PixelWidth,bitmapFrame.PixelHeight));        var rtb = new RenderTargetBitmap(bitmapFrame.PixelWidth, bitmapFrame.PixelHeight, 96, 96, PixelFormats.Pbgra32);        rtb.Render(img);        var png = new PngBitmapEncoder();        png.Frames.Add(BitmapFrame.Create(rtb));        png.Save(fs);    }

使用过程中,发现WPF和GDI的处理方式还是有有些类似的。它的基本使用方式如下:

    Image myImage = new Image();    FormattedText text = new FormattedText("ABC",            new CultureInfo("en-us"),            FlowDirection.LeftToRight,            new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.Normal, new FontStretch()),            this.FontSize,            this.Foreground);    DrawingVisual drawingVisual = new DrawingVisual();    DrawinGContext drawingContext = drawingVisual.RenderOpen();    drawingContext.DrawText(text, new Point(2, 2));    drawingContext.Close();    RenderTargetBitmap bmp = new RenderTargetBitmap(180, 180, 120, 96, PixelFormats.Pbgra32);    bmp.Render(drawingVisual);    myImage.Source = bmp;

主要是如下几步:

  • 在DrawingContext中绘图

  • 通过DrawingVisual将DrawingContext转换为Visual

  • 通过RenderTargetBitmap将Visual转换为BitmapFrame

  • 通过xxxBitmapEncoder将BitmapFrame保存为图像

这些步骤也无需严格遵守,像我最开始的那个例子则是直接生成Visual,然后保存为图像。其实我更喜欢这种方式,因为Visual是可以直接在WPF的界面上显示出来的,方便调试,并且很方便应用WPF中的各种特效。不过要记得调用一下Arrange函数,否则看不到生成结果的。

这里再给个更简单的例子,以供学习。

    Ellipse cir = new Ellipse();    cir.Height = 50;    cir.Width = 50;    cir.Stroke = Brushes.Black;    cir.StrokeThickness = 1.0;    cir.Arrange(new Rect(new Size(50, 50)));    //这句不能漏了    RenderTargetBitmap rtb = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);    rtb.Render(cir);    PngBitmapEncoder png = new PngBitmapEncoder();    png.Frames.Add(BitmapFrame.Create(rtb));    using (Stream fs = File.Create(@"r:\test.png"))    {        png.Save(fs);    }

感谢各位的阅读,以上就是“C#如何使用Effects给图片增加阴影效果”的内容了,经过本文的学习后,相信大家对C#如何使用Effects给图片增加阴影效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: C#如何使用Effects给图片增加阴影效果

本文链接: https://www.lsjlt.com/news/341364.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#如何使用Effects给图片增加阴影效果
    这篇文章主要讲解了“C#如何使用Effects给图片增加阴影效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何使用Effects给图片增加阴影效果”吧!代码如下: &nbs...
    99+
    2023-07-02
  • C#使用Effects给图片增加阴影效果
    今天写一个小程序有一个给图片加上阴影的需求,记得WPF的Effect中就有阴影特效,就打算用它了。代码如下: using (var imageStreamSource = F...
    99+
    2024-04-02
  • 如何使用css3给文字添加阴影效果
    本篇内容主要讲解“如何使用css3给文字添加阴影效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用css3给文字添加阴影效果”吧! ...
    99+
    2024-04-02
  • Java中怎么给图片增加倒影效果
    本篇文章为大家展示了Java中怎么给图片增加倒影效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实现原理倒影率作为参数rate 传入Reflection button的事件处理函数:CreateI...
    99+
    2023-06-02
  • css如何给图片添加投影效果
    本篇内容介绍了“css如何给图片添加投影效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • css如何实现给元素块加阴影的效果
    这篇文章主要介绍了css如何实现给元素块加阴影的效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇css如何实现给元素块加阴影的效果文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • CSS3中如何实现图层阴影和文字阴影效果
    这篇文章给大家分享的是有关CSS3中如何实现图层阴影和文字阴影效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。box-shadow图层阴影box-shadow:阴影类型 X水平...
    99+
    2024-04-02
  • Dreamweaver如何给图片添加晃动效果
    这篇文章将为大家详细讲解有关Dreamweaver如何给图片添加晃动效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法如下首先打开dw软件,新建一个HTML空白页点击窗口-将行为面板前面选&r...
    99+
    2023-06-08
  • css如何使用text-shadow设置阴影效果
    这篇文章主要介绍css如何使用text-shadow设置阴影效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在一段翰墨中,指定几个翰墨使用text-shadow配置暗影功效。 ...
    99+
    2024-04-02
  • Dreamweaver按钮如何添加立体阴影效果
    这篇文章主要介绍Dreamweaver按钮如何添加立体阴影效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图:首先用DW制作一个按钮,可以参考下方引用经验来制作。然后我们在按钮样式中添加一个投影的代码【box-...
    99+
    2023-06-08
  • 如何使用css3给图片实现渐变效果
    小编给大家分享一下如何使用css3给图片实现渐变效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!浏览器支持情况IEFFChro...
    99+
    2024-04-02
  • 怎么使用CSS实现比普通阴影更加立体的阴影效果
    这篇文章主要介绍“怎么使用CSS实现比普通阴影更加立体的阴影效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用CSS实现比普通阴影更加立体的阴影效果”文章能...
    99+
    2024-04-02
  • 如何使用HTML5中的Canvas绘制阴影效果
    这篇文章主要介绍如何使用HTML5中的Canvas绘制阴影效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建阴影效果需要操作以下4个属性:1.context.shadowColo...
    99+
    2024-04-02
  • 怎么用css给图片加模糊层效果
    小编给大家分享一下怎么用css给图片加模糊层效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在c...
    99+
    2024-04-02
  • 如何在win10中给影片添加3D特效?
     如何在很多朋友都喜欢给影片添加3D特效,而win10自带的Windows Photos应用程序便具备此项功能,小编在下文中整理了具体操作的方法,快来学习一下吧。 Windows10中为影片添加简单的3D特效操...
    99+
    2023-05-23
    添加3D效果 Win10
  • 如何使用CSS3为文本和元素实现添加阴影效果
    小编给大家分享一下如何使用CSS3为文本和元素实现添加阴影效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用CSS3,你可以...
    99+
    2024-04-02
  • CSS3如何给背景图片添加动态变色效果
    这篇文章主要介绍“CSS3如何给背景图片添加动态变色效果”,在日常操作中,相信很多人在CSS3如何给背景图片添加动态变色效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CS...
    99+
    2024-04-02
  • 如何使用HTML颜色代码创建阴影效果?
    阴影效果在网站设计中经常被用于突出元素,吸引用户注意或提供视觉深度。我们来看看如何利用 HTML 颜色代码实现阴影效果吧。 一、基础知识 HTML 颜色代码:用于设置元素的颜色,由16进制数字或颜色名称组成。 RGBA 颜色值: rgb...
    99+
    2024-02-14
    阴影, HTML, CSS, 代码
  • 如何使用python给图片加水印
    这篇文章主要介绍如何使用python给图片加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:叠加文字水印最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。主要用到Figure.text函数参数类型说...
    99+
    2023-06-15
  • 如何使用CSS3实现圆角,阴影,透明效果
    这篇文章主要介绍“如何使用CSS3实现圆角,阴影,透明效果”,在日常操作中,相信很多人在如何使用CSS3实现圆角,阴影,透明效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作