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

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

于 2022-02-20 发布 文件大小:287.04 kB
0 374
下载积分: 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# SelectedItem选择移动数据项 点菜功能
    这是个实用的小功能,在WEB开发时也经常会看到这种功能,将item数据项由左侧移动到右侧,这是一个选择+移动的功能,全部添加到选择的项中,判断是否已经选择了该菜单项,比如本例子利用左右移动SelectItem项实现了点菜功能:   private void button3_Click(object sender, EventArgs e)//移除所有已经选择的菜   {    lbChoose.Items.Clear();   }   private void button1_Click(object sender, EventArgs e)//单个添加到选择的项中   {    if (lbSocure.SelectedIndex != -1)    {    if (!lbChoose.Items.Contains(lbSocure.Text))//判断是否已经选择了该菜    lbChoose.Items.Add(lbSocure.SelectedItem.ToString());//添加选择的菜    else    MessageBox.Show("您已经选择了该菜,请重新选择。");    }   }
    2022-06-13 08:29:58下载
    积分:1
  • Zigbee智能家居完整的
    Zigbee智能家居完整的源代码,含有终端和协调器工程并带有汉语注释。非常适合Zigbee开发。-Zigbee Smart Home complete source code, containing the terminal and the coordinator works with Chinese comments. Very suitable for the Zigbee development.
    2022-03-05 18:50:08下载
    积分:1
  • C# 随机分组抽签的实现方法及示例小程序
    Visual C# 随机分组抽签程序,可用于抽签、摇奖等场合,人员分组抽奖情况人数项请输入大于0的整数,不要输入空组别名,各组别的总人数大于参与抽签人数,各组别的总人数需要大于1。还需要确定参与抽签人员、抽签分组组别等。程序还可进行简单的维护管理,比如添加人员、添加级别、删除组员等功能。这个程序从整体上来说,写的挺好,不管是界面方面或是功能方面,都挺好用,推荐给大家。
    2023-08-05 09:45:03下载
    积分:1
  • C# 3DTools.dll WPF 3D建模、透视、动画效果演示实例
    这是一个使用C# 3DTools.dll WPF技术实现的 3D建模、透视、动画效果演示实例,本源码包括了以下演示范围:使用ScreenSpaceLines3D绘制的3D坐标系、3D立方体、球、不同光源的折射、不同材质的视觉效果、2D房子、3D房子,用MatrixCamera模拟透视相机等功能,关于透视的若干参数设置和实现原理,请参考PerspectiveByMatrixCamera.xaml.cs,在此文件中包括了正射投影的若干参数, 计算M坐标系下的三个轴单位向量 Mx,My,Mz,计算平移矩阵的dx,dy,dz,计算正射投影矩阵的Sx,Sy,Sz,dz等。   创建相机和光源、坐标系请参考Sphere.xaml.cs文件,如果line3D非空,则需要绘制构建的三角网,计算出来的点,然后加入到MeshGeometry3D的Positions属性。
    2023-08-07 10:10:03下载
    积分:1
  • C# 使用聚合函数查找数据库重复记录
    C#利用聚合函数显示数据库中重复记录的数量,这个例子可找出数据库中的重复内容,对优化数据库很有帮助。实现本功能可参考以下代码:   dgv_Message.DataSource = GetMessage();//设置数据源   dgv_Message.Columns[0].Width = this.Width;//设置列宽度   dgv_Message.DataSource = GetStudent();//设置数据源   dgv_Message.Columns[0].Width = 200;//设置列宽度   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    @"SELECT 所在学院 ,COUNT(所在学院) AS 学生数量 FROM tb_Student GROUP BY 所在学院");   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-30 05:46:27下载
    积分:1
  • C# 在程序中使用指针、十字光标、浮动窗口等不安全代
    C# 在程序中使用指针、十字光标、浮动窗口等不安全代码的实例,单击以下按钮会演示出对应功能:   在程序中显示一个浮动帮助窗口   显示等待光标   显示十字光标   对于功能实现,逐一分享源代码如下:在程序中使用指针等不安全代码:   var MyFileName = "C:atlog.txt";   var MyReader = new MyReaderClass(MyFileName);   const int MyBuffSize = 128;   byte[] MyBuffer = new byte[MyBuffSize];   ASCIIEncoding MyEncoder = new ASCIIEncoding();   var MyInfo = MyFileName + "的内容如下:";   while (MyReader.Read(MyBuffer, 0, MyBuffSize) != 0)    MyInfo += " " + MyEncoder.GetString(MyBuffer);   MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   private void button2_Click(object sender, EventArgs e)   {//在程序中显示一个浮动帮助窗口    Help.ShowPopup(this, "提高程序开发效率、拓展软件应用领域", new Point(300, 350));   }   private void button3_Click(object sender, EventArgs e)   {//显示等待光标    this.Cursor = Cursors.WaitCursor;   }   private void button4_Click(object sender, EventArgs e)   {//显示十字光标    this.Cursor = Cursors.Cross;   }
    2023-05-20 08:40:02下载
    积分:1
  • C# LockThread()锁定线程以实现线程同步
    C# 使用LockThread()方法实现线程监视监控的例子,锁定线程以实现线程同步,实现方法比较简单,可参考以下的代码,完整的代码可在本网页下载:   static void Main(string[] args)   {    Program myProgram = new Program();//实例化类对象    myProgram.LockThread(); //调用锁定线程方法    Console.ReadLine();   }   void LockThread()   {    Monitor.Enter(this);//锁定当前线程    Console.WriteLine("锁定线程以实现线程同步");    Monitor.Exit(this); //释放当前线程   }
    2022-02-20 05:30:05下载
    积分:1
  • C# 把Excel数据读入ListView
    Visual 编写实现的Excel文件阅读器,把Excel数据读入ListView,这个程序是调用到一些Excel操作类,看 Excel Application 对象是否已经成功生成,打开文件对话框(openfiledialog)只显示Excel文件,调用Open方法打开Excel工作簿,还牵涉到把二维的数组转化为一维的字符串数组,核心代码部分,请参考以下代码:   // 调用Open方法打开Excel工作簿,多数使用缺省值 (除了 read-only我们设置它为 true)   Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(openFileDialog1.FileName, 0, true, 5,"", "", true, Excel.XlPlatform.xlWindows, " ", false, false, 0, true);   // 取得工作簿(workbook)中表单的集合(sheets)   Excel.Sheets sheets = theWorkbook.Worksheets;   // 取得表单集合中唯一的一个表(worksheet)   Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);   // 读取前10行,置入listview   for (int i = 1; i
    2022-11-07 08:15:04下载
    积分:1
  • C# 向StatusBar状态栏控件中添加窗格面板
    C# 向StatusBar状态栏控件中添加窗格面板及文字,也就是把窗口的状态栏分栏,分隔成若干个小区域,显示不同的信息,比如文字提示或图标等。   向StatusBar控件添加窗格面板   StatusBar statusBar1=new StatusBar();   statusBar1.Panels.Add("中华人民共和国");   statusBar1.Panels.Add("重庆市");   statusBar1.Panels.Add("罗斌");   statusBar1.Panels[0].AutoSize = StatusBarPanelAutoSize.Contents;   statusBar1.Panels[1].AutoSize = StatusBarPanelAutoSize.Spring;   statusBar1.Panels[2].AutoSize = StatusBarPanelAutoSize.Contents;   statusBar1.Panels[0].BorderStyle =StatusBarPanelBorderStyle.Raised;   statusBar1.Panels[1].BorderStyle = StatusBarPanelBorderStyle.Sunken;   statusBar1.Panels[2].BorderStyle = StatusBarPanelBorderStyle.Raised;   statusBar1.Panels[2].Icon = new System.Drawing.Icon( @"Error.ico");   statusBar1.ShowPanels = true;   this.Controls.Add(statusBar1);
    2022-05-17 04:53:06下载
    积分:1
  • Visual C# WPF图片拉伸功能一例
    Visual C# WPF图片拉伸功能一例,如图所示的运行效果,鼠标放在两幅图片的交接处,鼠标形状会变为拖动的样式,按住鼠标左键即可拖动图片向左、向右或向上向下拉伸,图片被拖拉变大或变小,非比例缩放,这种拖放是不按比例来的,完全由你鼠标控制的自由拖放功能。
    2022-03-25 07:32:22下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载