登录
首页 » C#源码 » C# WPF把彩色图片转换为灰度图

C# WPF把彩色图片转换为灰度图

于 2022-02-01 发布 文件大小:740.28 kB
0 226
下载积分: 2 下载次数: 1

代码说明:

C# 把彩色图片转换为灰度图,这是一个基于WPF的C#图像处理程序,图像彩色转换黑白,支持的图像文件格式为:JPeg,Gif,Bmp,etc。   程序主要实现两个功能,一是将彩色转换为索引像素格式、二是将彩色转换为黑白像素格式,对应于窗口中的按钮,可查看对应功能的演示:   将彩色转换为黑白像素格式,核心代码如下:   TransformedBitmap MyRotatedBitmapSource = new TransformedBitmap();   MyRotatedBitmapSource.BeginInit();   MyRotatedBitmapSource.Source = (System.Windows.Media.Imaging.BitmapSource)this.image1.Source;   MyRotatedBitmapSource.Transform = new RotateTransform(270);   MyRotatedBitmapSource.EndInit();   FormatConvertedBitmap MyFormatedBitmap = new FormatConvertedBitmap();   MyFormatedBitmap.BeginInit();   MyFormatedBitmap.Source = MyRotatedBitmapSource;   MyFormatedBitmap.DestinationFormat = PixelFormats.BlackWhite;   MyFormatedBitmap.EndInit();   this.image1.Source = MyFormatedBitmap;   完整源码例子请在本页下载,运行效果截图如下图示。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C#读取文件内容显示在DataGridView表格中
    Visual C#在DataGridView单元格中显示文本文件的内容,可以理解为,从外部读取文件内容,将其显示在DataGridView   单元格中,可以看出,本代码中使用了DataTable对象、OleDb.OleDbDataAdapter对象,外部文件的格式暂定为txt,其它格式需要相关解析组件支持,实现本功能并不难,以下几行代码就可大致实现:   string MyPath = System.IO.Directory.GetCurrentDirectory();   string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+MyPath+";Extended Properties="text;HDR=yes;FMT=delimited";";   string MySQL = "select * from 季度订单.txt";   DataTable MyTable = new DataTable();   System.Data.OleDb.OleDbDataAdapter MyAdapter = new System.Data.OleDb.OleDbDataAdapter(MySQL, MyConnectionString);   MyAdapter.Fill(MyTable);   this.dataGridView1.DataSource = MyTable;   运行界面效果请参见下图,完整源码请在本页下载。
    2022-03-20 07:42:37下载
    积分:1
  • C# 2015 在按钮中调用出下拉菜单的
    C# 2015 在按钮中调用出下拉菜单的源码,在按钮中显示一个下拉菜单的小三角,用户单击这个小三角即可显示出下拉菜单,这种用法之前也有不少,但有些新手不知道如何实现,希望通过这个简单的例子源码,你会学习到一些相关的知识技巧,制作出按钮下拉菜单的风格来。
    2023-02-15 19:40:04下载
    积分:1
  • 桌面融合C++
    桌面融合C++源码 !!!内含文档,使用方法!
    2022-03-21 15:10:19下载
    积分:1
  • C# 抓鬼游戏,类似打地鼠游戏
    C# 抓鬼游戏,其实类似于打地鼠游戏,看到地上那些洞洞,让我想起了打地鼠,呵呵。不过玩法上也很相似,只是地鼠变成了“魔鬼”,开启游戏后,按键盘上的空格键可开始游戏。   bool isStart = false;   Random rd;//随机数对象   int[,] points;//地鼠出现坐标   int score;//积分   int level;//游戏等级   bool ok = true;//用于解决鼠标快速连击所产生的积分增加   ok = false;//使ok为false,再次点击时由于不满足上面的if条件便不执行后面的操作   //this.Cursor = new Cursor("SizeDown.cur");   score += 100;//积分增加   this.pictureBox1.Visible = false;//使地鼠消失   lblScore.Text = score.ToString();   //若当前积分是2000的倍数则升级且加快计时器速度
    2022-12-21 06:25:03下载
    积分:1
  • C# FileInfo获取文件的各种属性
    C# 创建FileInfo对象,获取文件的各种属性,可以获取到以下的文件信息:创建时间、上次访问时间、上次写入时间、文件名称、完整目录、完整路径、是否只读、文件长度。   具体的实现过程:   textBox1.Text = openFileDialog1.FileName;   FileInfo finfo = new FileInfo(textBox1.Text); //实例化FileInfo对象   string strCTime, strLATime, strLWTime, strName, strFName, strDName, strISRead;   long lgLength;   strCTime = finfo.CreationTime.ToShortDateString(); //获取文件创建时间   strLATime = finfo.LastAccessTime.ToShortDateString(); //获取上次访问该文件的时间   strLWTime = finfo.LastWriteTime.ToShortDateString(); //获取上次写入文件的时间   strName = finfo.Name; //获取文件名称   strFName = finfo.FullName;//获取文件的完整目录   strDName = finfo.DirectoryName;//获取文件的完整路径   strISRead = finfo.IsReadOnly.ToString(); //获取文件是否只读   lgLength = finfo.Length; //获取文件长度   MessageBox.Show("文件信息: 创建时间:" + strCTime + " 上次访问时间:" + strLATime + " 上次写入时间:" + strLWTime + " 文件名称:" + strName + " 完整目录:" + strFName + " 完整路径:" + strDName + " 是否只读:" + strISRead + " 文件长度:" + lgLength);   以上代码段请写入一个按钮事件中,这样当用户单击按钮时,执行上述代码。
    2023-02-14 12:35:03下载
    积分:1
  • C# LINQ操作相关函数集代
    C# LINQ操作相关函数集代码,这个函数集成在一个C#的实例程序中,包括了以下常用的LINQ操作函数,比如:获取LINQ返回序列的第一个元素、获取LINQ返回序列的最后一个元素、获取LINQ返回序列指定位置的元素、获取LINQ返回序列的单个特定元素、获取LINQ返回序列的非重复元素、将两个序列的元素合并为一个序列、获取序列中符合条件的元素个数、合并元素索引将元素投影到新表、将元素子级过滤结果投影到新表等。
    2022-08-18 19:41:06下载
    积分:1
  • C# 创建有参、无参数等多线程操作实例
    C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:   if (MyThread.ThreadState == ThreadState.Terminated)    MyData += " 当前状态:已完成执行并已退出";   if (MyThread.ThreadState == ThreadState.Transition)    MyData += " 当前状态:在可以执行前等待处理器之外的资源";   if (MyThread.ThreadState == ThreadState.Unknown)    MyData += " 当前状态:状态未知";   if (MyThread.ThreadState == ThreadState.Wait)    MyData += " 当前状态:正在等待外围操作完成或等待资源释放";   if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)    MyData += " 等待原因:线程正在等待事件对高";   if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)    MyData += " 等待原因:线程正在等待事件对低";   if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)    MyData += " 等待原因:线程执行延迟";   if (MyThread.WaitReason == ThreadWaitReason.Executive)    MyData += " 等待原因:线程正在等待计划程序";   if (MyThread.WaitReason == ThreadWaitReason.FreePage)    MyData += " 等待原因:线程正在等待可用的虚拟内存页";   if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)   
    2022-04-18 07:37:09下载
    积分:1
  • 5G 毫米波ns-3下仿真
    5G  毫米波 天线仿真  ns-3/ns3平台下的C++ 程序
    2022-07-08 09:28:17下载
    积分:1
  • C# UseHaving 在HAVING子句中使用子查询过滤平均值数据
    C# UseHaving 在HAVING子句中使用子查询过滤数据,查询学生表中学生年龄大于平均学生年龄的学生信息,查询代码的编写如下:string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    @"SELECT 所在学院,学生姓名,年龄,(SELECT AVG(年龄) FROM tb_Student) AS 平均年龄 FROM tb_Student GROUP BY 所在学院,学生姓名,年龄 HAVING 年龄>(SELECT AVG(年龄) FROM tb_Student)");   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-03-02 18:15:07下载
    积分:1
  • C# ScanPort 局域网端口扫描程序
    C#端口扫描程序,适用于局域网计算机的扫描,扫描时将遍历局域网中的工作组,并将计算机名显示在下拉列表控件中,用户可指定某电脑的端口扫描范围。判断工作组名称,遍历指定工作组中的所有计算机名称,并显示在ListBox控件中:   //实例化DirectoryEntry对象,以便获得局域网组名和计算机名   DirectoryEntry DEMain = new DirectoryEntry("WinNT:");   TcpClient TClient = null;//实例化连接侦听对象   private Thread myThread; //实例化线程对象   string strName = ""; //记录选择的计算机名称   int intflag = 0; //扫描到的端口号   int intport = 0; //记录已用端口号   int intstart = 0; //扫描的开始端口号   int intend = 0; //扫描的结束端口号   详细情况请下载源码。
    2023-05-16 16:35:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载