登录
首页 » C#源码 » C# WPF实现图片浮雕、凹凸的图像效果

C# WPF实现图片浮雕、凹凸的图像效果

于 2022-02-20 发布 文件大小:287.04 kB
0 371
下载积分: 2 下载次数: 1

代码说明:

Visual C# WPF实现图片浮雕、凹凸的图像效果,看上去很有雕刻的效果,这个功能对于熟悉PS的朋友,可能不陌生,用C#的WPF技术,可以轻松实现类似效果,只是说法不一样,在本例中,叫做“凹凸位图特效”,本代码在功能实现上,分为全部实现和局部实现,代码参考如下:   private void button1_Click(object sender, RoutedEventArgs e)   {//凹凸位图特效全部作用于图像    this.image1.BitmapEffectInput = null;    var MyEffect = new System.Windows.Media.Effects.EmbossBitmapEffect();    MyEffect.Relief = 0.8;    MyEffect.LightAngle =320;    this.image1.BitmapEffect = MyEffect;   }   private void button2_Click(object sender, RoutedEventArgs e)   {//凹凸位图特效部分作用于图像    var MyEffect = new System.Windows.Media.Effects.EmbossBitmapEffect();    MyEffect.Relief = 0.8;    MyEffect.LightAngle = 320;    this.image1.BitmapEffect = MyEffect;    var MyInput = new System.Windows.Media.Effects.BitmapEffectInput();    MyInput.AreaToApplyEffect = new Rect(.25, .25, .50, .50);    MyInput.AreaToApplyEffectUnits = System.Windows.Media.BrushMappingMode.RelativeToBoundingBox;    this.image1.BitmapEffectInput= MyInput;   }   完整

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C#将checkbox应用于combobox中 实例
    C#将checkbox应用于combobox中 源码实例,在下拉列表combobox中增加复选框按钮的用法实例,这些用法包括排列布局、数量分配等,在演示窗口的按钮中,单击按钮可看到不同的运用效果,这在平时的使用中,会大大扩展combox的功能。
    2022-08-20 12:13:56下载
    积分:1
  • C# 查询数据库时不显示重复记录
    C# 查询数据库时不显示重复记录,以查询已销售图书信息为例,演示如果略过重复数据,不显示重复的数据记录。   string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    "SELECT 书号,条形码,书名,作者,出版社 FROM tb_Book");   SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);   DataTable P_dt = new DataTable();//创建数据表   P_SqlDataAdapter.Fill(P_dt);//填充数据表   return P_dt;//返回数据表
    2022-06-11 17:53:03下载
    积分:1
  • C# 锁定线程释放Mutex对象
    C# 锁定线程释放Mutex对象的例子,与锁定线程相比,多了释放Mutex对象的功能,实现方法和思路大致差不多:   C#锁定线程,可编写以下代码:   Program myProgram = new Program();//实例化类对象   myProgram.LockThread();//调用锁定线程方法   C# 释放Mutex对象,可编写以下代码:   Mutex myMutex = new Mutex(false);//实例化Mutex类对象   myMutex.WaitOne();//阻止当前线程   Console.WriteLine("锁定线程以实现线程同步");   myMutex.ReleaseMutex();//释放Mutex对象   完整可运行源码实例,请下载本源码。
    2022-08-10 07:43:23下载
    积分:1
  • C# 保存对数据库记录的插入、删除及修改操作结果
    C# 保存对数据库记录的插入、删除及修改操作结果,设置控件数据源,对操作的结果以MessageBox.Show在消息框中显示提示信息,执行过程中验证Shippers数据表、验证Phone字段、验证CompanyName字段
    2022-04-08 04:57:49下载
    积分:1
  • C# GroupBy将字符串数组按元素长度分组
    C#演示 GroupBy字符串操作范例,C# GroupBy将字符串数组按元素长度分组:   string[] Words = new string[] { "what", "is", "your", "name", "?", "my", "name", "is", "lyf", "." };   var Groups = from word in Words   group word by word.Length into lengthGroups//按单词长度将单词分组   orderby lengthGroups.Key descending//按单词长度降序排列   select new   {    Length = lengthGroups.Key,//取单词长度    WordCollect = lengthGroups//取该长度的单词分组集合   };最后使用foreach循环遍历每组单词,将罗列出包括指定字符的单词是哪几个。
    2023-08-16 01:45:03下载
    积分:1
  • C# LED显示屏数管风格的计数器显示效果
    C#实现一个计数器效果,计算器的功能和其它的没什么区别,但是它的显示风格我觉得是亮点,采用了LED数码显示屏风格的计数内容显示,让这个计数器也上档次了,完成这个功能的核心 文件,请参考源码压缩包中的LedCtrl.cs,这里面创建了LED的点数组、段0~6点数组,包括了右下角的小数点,还有一些基本的字符编码,每段的显示控制代码,就添加了注释,帮助不熟悉这个类的C#爱好者快速上手使用,本示例实现的效果如演示截图所示。
    2022-02-02 14:57:36下载
    积分:1
  • C# ScanPort 局域网端口扫描程序
    C#端口扫描程序,适用于局域网计算机的扫描,扫描时将遍历局域网中的工作组,并将计算机名显示在下拉列表控件中,用户可指定某电脑的端口扫描范围。判断工作组名称,遍历指定工作组中的所有计算机名称,并显示在ListBox控件中:   //实例化DirectoryEntry对象,以便获得局域网组名和计算机名   DirectoryEntry DEMain = new DirectoryEntry("WinNT:");   TcpClient TClient = null;//实例化连接侦听对象   private Thread myThread; //实例化线程对象   string strName = ""; //记录选择的计算机名称   int intflag = 0; //扫描到的端口号   int intport = 0; //记录已用端口号   int intstart = 0; //扫描的开始端口号   int intend = 0; //扫描的结束端口号   详细情况请下载源码。
    2023-05-16 16:35:03下载
    积分:1
  • 第五版课件及习题程序和学习辅导
    第五版课件及习题程序和学习辅导源码
    2022-01-27 20:17:14下载
    积分:1
  • C# 异步加载图像的方法附示例
    C# 异步加载图像的方法附示例源码,异步加载技术对提升软件内容加载性能很有帮助,不但可以异步加载图片,还可以用于异步加载数据库内容,只是方法不同,本例是异步加载图片,这个也是使用比较多的一种情况,希望对C#初学者有所帮助。   运行本示例exe后,选择一张图片,则会异步加载这张图像,并显示当前图像文件加载进度,如效果图所示。
    2022-11-07 06:40:03下载
    积分:1
  • C# 创建有参、无参数等多线程操作实例
    C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:   if (MyThread.ThreadState == ThreadState.Terminated)    MyData += " 当前状态:已完成执行并已退出";   if (MyThread.ThreadState == ThreadState.Transition)    MyData += " 当前状态:在可以执行前等待处理器之外的资源";   if (MyThread.ThreadState == ThreadState.Unknown)    MyData += " 当前状态:状态未知";   if (MyThread.ThreadState == ThreadState.Wait)    MyData += " 当前状态:正在等待外围操作完成或等待资源释放";   if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)    MyData += " 等待原因:线程正在等待事件对高";   if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)    MyData += " 等待原因:线程正在等待事件对低";   if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)    MyData += " 等待原因:线程执行延迟";   if (MyThread.WaitReason == ThreadWaitReason.Executive)    MyData += " 等待原因:线程正在等待计划程序";   if (MyThread.WaitReason == ThreadWaitReason.FreePage)    MyData += " 等待原因:线程正在等待可用的虚拟内存页";   if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)   
    2022-04-18 07:37:09下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载