本文采用C#实例讲解了处理图片为浮雕效果的实现方法,这在PS中是一个常见的功能,也是C#中的一个简单的图像处理例子。程序先读取原图,然后依次访问每个像素的RGB值,获取相邻两个像素的R、G、B值,计算与左上角像素的RGB分量之差,将计算后的RGB值回写到位图,最后进行图片的浮雕处理。
主要代码如下:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Drawing.Imaging; namespace EmbossColander { public class Form1 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null; public Form1() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(350,200); this.Text = "Form1"; } #endregion protected override void OnPaint(PaintEventArgs e) { base.OnPaint (e); Graphics graphics = e.Graphics; graphics.Clear(Color.White); graphics.ScaleTransform(0.7f,0.7f); Bitmap image = new Bitmap("dog.bmp"); int Width = image.Width; int Height = image.Height; //image2:进行雕刻处理 Bitmap image2 = image.Clone(new Rectangle(0,0,Width,Height),PixelFormat.DontCare ); //绘制原图 graphics.DrawImage( image, new Rectangle(0, 0, Width, Height)); Color color, colorTemp,colorLeft; //进行图片的浮雕处理 //依次访问每个像素的RGB值 for(int i=Width-1; i>0;i--) { for( int j=Height-1; j>0;j--) { //获取相邻两个像素的R、G、B值 color =image.GetPixel(i, j); colorLeft=image.GetPixel(i-1, j-1); //计算与左上角像素的RGB分量之差 //67:控制图片的最低灰度,128:常量,更改这两个值会得到不同的效果 int r = Math.Max(67,Math.Min(255, Math.Abs(color.R-colorLeft.R+128))); int g = Math.Max(67,Math.Min(255, Math.Abs(color.G-colorLeft.G+128))); int b = Math.Max(67,Math.Min(255, Math.Abs(color.B-colorLeft.B+128))); Color colorResult=Color.FromArgb(255,r,g,b); //将计算后的RGB值回写到位图 image.SetPixel(i, j,colorResult); } //绘制浮雕图 graphics.DrawImage( image, new Rectangle(Width+10, 0, Width, Height)); } } [STAThread] static void Main() { Application.Run(new Form1()); } } }
感兴趣的朋友可以点此本站下载完整实例代码。
本文向大家介绍js实现图片漂浮效果的方法,包括了js实现图片漂浮效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现图片漂浮效果的方法。分享给大家供大家参考。具体分析如下: 描述:打开网页就看到不停在飘动的图片,点击连接到其他页面;起到着重强调的效果! 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍Android实现图片浮动随意拖拽效果,包括了Android实现图片浮动随意拖拽效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现图片浮动拖拽效果的具体代码,供大家参考,具体内容如下 实现步骤 1.先自定义一个浮动工具类 2.xml布局的引用 3.activity的实现 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学
本文向大家介绍canvas实现绘制吃豆鱼效果,包括了canvas实现绘制吃豆鱼效果的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍JS实现图片幻灯片效果代码实例,包括了JS实现图片幻灯片效果代码实例的使用技巧和注意事项,需要的朋友参考一下 其效果是点击图片切换到下一张图片 首先准备五张图片 样式 js 其中用的是 fadeIn() -> 淡入 和 fadeOut()-> 淡出 两者效果叠加则可用 fadeToggle() fadeToggle() 方法在 fadeIn() -> 淡入 和 fadeOut()->
本文向大家介绍javascript图片滑动效果实现,包括了javascript图片滑动效果实现的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了javascript图片滑动效果实现方法,具体内容如下,先看一下效果图: 鼠标滑过那张图,显示完整的哪张图,移除则复位: 简单的CSS加JS操作DOM实现: css: js操作: 更多关于滑动效果的专题,请点击下方链接查看: javascript滑
本文向大家介绍js实现图片轮播效果,包括了js实现图片轮播效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了js实现图片轮播效果代码,分享给大家供大家参考,具体内容如下 运行代码如下 具体代码如下 插件是基于jQuery写的,主要实现的功能:自动播放、鼠标悬停、左右箭头控制+禁止点击 CSS样式: HTML布局( a标签最好加个title属性 ): JS脚本插件: 页面调用: 希望本文所