C#图像处理之木刻效果实现方法
本文实例讲述了C#图像处理之木刻效果实现方法。分享给大家供大家参考。具体如下:
//木刻效果 public Bitmap PFilterMuKe(Bitmap src) { try { Bitmap a = new Bitmap(src); Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb); int stride = bmpData.Stride; unsafe { byte* pIn = (byte*)bmpData.Scan0.ToPointer(); byte* P; int R, G, B; int temp = 0; for (int y = 0; y < a.Height; y++) { for (int x = 0; x < a.Width; x++) { P = pIn; B = P[0]; G = P[1]; R = P[2]; temp = (byte)((B + G + R) / 3); if (temp >= 122.5) { P[2] = 0; P[1] = 0; P[0] = 0; } else { P[2] = (byte)255; P[1] = (byte)255; P[0] = (byte)255; } pIn += 3; } pIn += stride - a.Width * 3; } } a.UnlockBits(bmpData); return a; } catch (Exception e) { MessageBox.Show(e.Message.ToString()); return null; } }
原图:
效果图:
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C# WinForm实现Win7 Aero透明效果代码
在Vista系统之后,微软为窗体程序提供了Aero磨砂的效果,如下图.那么用C#如何来实现这种磨砂效果呢? 背景为我的桌面 那先上代码吧: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [DllImport("dwmapi.dll", PreserveSig = fa
-
C#实现3D效果完整实例
本文实例讲述了C#实现3D效果的方法.分享给大家供大家参考,具体如下: 一.新建一类文件 private static double[] addVector(double[] a, double[] b) { return new double[] { a[0] + b[0], a[1] + b[1], a[2] + b[2] }; } private static double[] scalarProduct(double[] vector, double scalar) { return n
-
C#图像处理之霓虹效果实现方法
本文实例讲述了C#图像处理之霓虹效果实现方法.分享给大家供大家参考.具体如下: //定义霓虹处理函数 public Bitmap PNihong(Bitmap a) { try { int w = a.Width; int h = a.Height; Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imaging.BitmapData sr
-
C#实现窗体淡入淡出效果的方法总结
1. 复制代码 代码如下: private void Form1_Load(object sender, System.EventArgs e) for(double d=0.01; d< 1; d+=0.02) { System.Threading.Thread.Sleep(1); Application.DoEvents(); this.Opacity=d; this.Refresh(); } 2.
-
C# 无边框窗体边框阴影效果的简单实现
通过下面代码在构造函数中调用方法 SetShadow(); 即可实现无边框窗体的阴影效果了 需要添加命名空间 using System.Runtime.InteropServices; 复制代码 代码如下: private const int CS_DropSHADOW = 0x20000; private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)]
-
C#利用GDI+绘制旋转文字等效果实例
本文实例讲述了C#利用GDI+绘制旋转文字等效果的方法,是非常实用的技巧.分享给大家供大家参考之用.具体如下: C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现.但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少.经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经过不少的计算过程.利用下面的类可以实现该功能. 具体实现代码如下: using System; using System.Collections.Generic; using System
-
C#实现闪动托盘图标效果的方法
本文实例讲述了C#实现闪动托盘图标效果的方法.分享给大家供大家参考,具体如下: 在用户正在登录QQ或者使用Firemail邮件系统自动收取邮件的时候,托盘图标会闪动提示用户正在运行的任务. 闪动图标可以使用定时切换托盘图标的方式实现,托盘图标可以从ImageList控件中获取.在ImageList控件里面添加三个icon,第一个icon表示窗体启动以后的托盘图标.第二个和第三个图标分别表示当特定的任务发生的时候,定时切换的图标. (1)设置托盘的图标可以从ImageList控件中的Image对象
-
C#实现winform渐变效果的方法
本文实例实现一个启动画面,采用了显示Aform,过一段时间,隐藏这个Aform,showdialog下一个Bform,closeAForm这个方法来做了,不知道大家有没有更好的办法. 设定程序从Aform启动: 复制代码 代码如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Ru
-
C#自动生成漂亮的水晶效果头像的实现代码
与其他的微博系统相同,在"多可内网微博系统"的用户也可上传自己的头像,并支持头像裁剪. 但"多可内网微博系统"的头像可以更漂亮,因为系统实现了水晶效果的头像.C#程序实现水晶效果头像的过程是: (1)图像缩略到宽度或高度=90的头像: (2)由用户选择合适的位置裁剪90x90的最终头像: (3)添加水晶效果: 代码奉献: 复制代码 代码如下: /// <summary>/// 绘制水晶效果的头像/// </summary>/// <pa
-
C#实现绘制浮雕图片效果实例
本文采用C#实例讲解了处理图片为浮雕效果的实现方法,这在PS中是一个常见的功能,也是C#中的一个简单的图像处理例子.程序先读取原图,然后依次访问每个像素的RGB值,获取相邻两个像素的R.G.B值,计算与左上角像素的RGB分量之差,将计算后的RGB值回写到位图,最后进行图片的浮雕处理. 主要代码如下: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sy
-
C#实现漂亮的数字时钟效果
本文实例讲述了用C#做了一个漂亮的数字时钟.分享给大家供大家参考. 程序运行后界面如下: 实现技术:主要是通过Graphics类的DrawImage方法来绘制数字时钟中所有的数字,这些数字是从网上找的一些图片文件.时钟使用DateTime中Now属性来获得不同的,时,分,秒,最后通过定时器来实现时钟的运行状态. 主要代码如下: 复制代码 代码如下: //将0~9数字图片保存在Image数组中 private Image[] image = new Bitmap[10]; public For
-
C#图像处理之浮雕效果实现方法
本文实例讲述了C#图像处理之浮雕效果实现方法.分享给大家供大家参考.具体如下: //定义浮雕处理函数 public Bitmap PFudiao(Bitmap a) { try { int w = a.Width; int h = a.Height; Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imaging.BitmapData sr
随机推荐
- 浅谈ASP.NET Core 2.0 带初始参数的中间件(译)
- PHP+AJAX实现无刷新注册(带用户名实时检测)
- JS非空验证及邮箱验证的实例
- Centos7.3下jre1.8安装和配置教程
- 两种oracle创建字段自增长的实现方式
- php 模拟get_headers函数的代码示例
- Codeigniter购物车类不能添加中文的解决方法
- Yii数据模型中rules类验证器用法分析
- MySQL NULL 值处理实例详解
- php实现的树形结构数据存取类实例
- 动态生成的IFRAME,设置SRC时的问题解决分析
- MongoDB运行日志实现自动分割的方法实例
- 金梅电影系统破解笔记(破解率80%以上)
- Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0
- 阿里云Linux主机安装WDCP管理面板(包含lamp+lnmp+lanmp环境)
- Golang slice切片操作之切片的追加、删除、插入等
- C语言实现K-Means算法
- Android打开手机相册获取图片路径
- vue双向绑定及观察者模式详解
- p5.js入门教程之鼠标交互的示例