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#实现窗体淡入淡出效果的方法总结
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#实现绘制浮雕图片效果实例
本文采用C#实例讲解了处理图片为浮雕效果的实现方法,这在PS中是一个常见的功能,也是C#中的一个简单的图像处理例子.程序先读取原图,然后依次访问每个像素的RGB值,获取相邻两个像素的R.G.B值,计算与左上角像素的RGB分量之差,将计算后的RGB值回写到位图,最后进行图片的浮雕处理. 主要代码如下: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sy
-
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#程序实现水晶效果头像的过程是: (1)图像缩略到宽度或高度=90的头像: (2)由用户选择合适的位置裁剪90x90的最终头像: (3)添加水晶效果: 代码奉献: 复制代码 代码如下: /// <summary>/// 绘制水晶效果的头像/// </summary>/// <pa
-
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#实现闪动托盘图标效果的方法
本文实例讲述了C#实现闪动托盘图标效果的方法.分享给大家供大家参考,具体如下: 在用户正在登录QQ或者使用Firemail邮件系统自动收取邮件的时候,托盘图标会闪动提示用户正在运行的任务. 闪动图标可以使用定时切换托盘图标的方式实现,托盘图标可以从ImageList控件中获取.在ImageList控件里面添加三个icon,第一个icon表示窗体启动以后的托盘图标.第二个和第三个图标分别表示当特定的任务发生的时候,定时切换的图标. (1)设置托盘的图标可以从ImageList控件中的Image对象
-
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
-
C#利用GDI+绘制旋转文字等效果实例
本文实例讲述了C#利用GDI+绘制旋转文字等效果的方法,是非常实用的技巧.分享给大家供大家参考之用.具体如下: C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现.但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少.经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经过不少的计算过程.利用下面的类可以实现该功能. 具体实现代码如下: using System; using System.Collections.Generic; using System
-
C#实现winform渐变效果的方法
本文实例实现一个启动画面,采用了显示Aform,过一段时间,隐藏这个Aform,showdialog下一个Bform,closeAForm这个方法来做了,不知道大家有没有更好的办法. 设定程序从Aform启动: 复制代码 代码如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Ru
-
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#实现漂亮的数字时钟效果
本文实例讲述了用C#做了一个漂亮的数字时钟.分享给大家供大家参考. 程序运行后界面如下: 实现技术:主要是通过Graphics类的DrawImage方法来绘制数字时钟中所有的数字,这些数字是从网上找的一些图片文件.时钟使用DateTime中Now属性来获得不同的,时,分,秒,最后通过定时器来实现时钟的运行状态. 主要代码如下: 复制代码 代码如下: //将0~9数字图片保存在Image数组中 private Image[] image = new Bitmap[10]; public For
-
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
随机推荐
- jQuery Autocomplete自动完成插件
- Node.JS文件系统解析实例详解
- Java中GC的工作原理详细介绍
- easy_install python包安装管理工具介绍
- 推荐11个实用Python库
- python使用super()出现错误解决办法
- C# winform自定义翻页控件详解
- Android 中ListView和GridView赋值错位
- Android 解决WebView无法上传文件的问题
- PHP设置Cookie的HTTPONLY属性方法
- 跟我学习javascript解决异步编程异常方案
- JS FormData上传文件的设置方法
- Jquery动态添加及删除页面节点元素示例代码
- 揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buffer Pool(缓冲池) 扩展
- JQuery jsonp 使用示例代码
- 浅析删除表的几种方法(delete、drop、truncate)
- 详解WordPress开发中的get_post与get_posts函数使用
- c# 文件(夹)创建与删除
- C++设计模式之抽象工厂模式
- java中 == 与 equal 的区别讲解