• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现绘制浮雕图片效果实例

C#实现绘制浮雕图片效果实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#web开发实例,c#串口编程实例,c#窗口界面设计实例,c#实例视频教程,c#项目实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文采用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());
 }
 }
}

</div>

感兴趣的朋友可以点此本站下载完整实例代码。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现文件上传与下载功能实例
  • C#登入实例
  • c#版在pc端发起微信扫码支付的实例
  • C#装箱和拆箱操作实例分析
  • C#实现的一款比较美观的验证码完整实例
  • C#递归方法实现无限级分类显示效果实例
  • c#读取excel方法实例分析
  • C#实现抓取和分析网页类实例
  • C#事件用法实例浅析
  • C#中委托用法实例分析

相关文章

  • 2017-05-28C#编程中使用ref和out关键字来传递数组对象的用法
  • 2017-05-28c#读取excel内容内容示例分享
  • 2017-05-28DevExpress之ChartControl实现时间轴实例
  • 2017-05-28C#预定义数据类型之值类型和引用类型介绍
  • 2017-05-28深入理解C#实现快捷键(系统热键)响应的方法
  • 2017-05-28C#实现线程安全的简易日志记录方法
  • 2017-05-28WinForm天猫双11自动抢红包源码分享
  • 2017-05-28C# 文件操作函数 创建文件 判断存在
  • 2017-05-28c# 应用NPOI获取Excel中的图片,保存至本地的算法
  • 2017-05-28C#调用python文件执行

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#读取QQ纯真IP数据库QQWry.Dat的代码
    • C#3.0中Lambda表达式详解
    • 深入多线程之:解析线程的交会(Thread Rendezvous)详解
    • 基于C#的UDP协议的同步通信实现代码
    • c#异步发送邮件的类
    • C#短时间内产生大量不重复的随机数
    • 在web.config和app.config文件中增加自定义配置节点的方法
    • 使用C#开发Socket通讯的方法
    • 纯C#实现Hook功能详解
    • c#转义字符串中的所有正则特殊字符方法示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有