c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe

把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒

附一个常用的遍历像素点转换的代码

构造函数

C#代码  

  1. public Tphc()
  2. {
  3. InitializeComponent();
  4. this.pictureBox1.ImageLocation = "F:\\黑色头发.jpg";
  5. }

按钮单击事件

C#代码  

  1. private void button3_Click(object sender, EventArgs e)
  2. {
  3. int Height = this.pictureBox1.Image.Height;
  4. int Width = this.pictureBox1.Image.Width;
  5. Bitmap bitmap = new Bitmap(Width, Height);
  6. Bitmap MyBitmap = (Bitmap)this.pictureBox1.Image;
  7. Color pixel;
  8. for (int x = 0; x < Width; x++)
  9. for (int y = 0; y < Height; y++)
  10. {
  11. pixel = MyBitmap.GetPixel(x, y);
  12. int r, g, b, Result = 0;
  13. r = pixel.R;
  14. g = pixel.G;
  15. b = pixel.B;
  16. //实例程序以加权平均值法产生黑白图像
  17. int iType = 2;
  18. switch (iType)
  19. {
  20. case 0://平均值法
  21. Result = ((r + g + b) / 3);
  22. break;
  23. case 1://最大值法
  24. Result = r > g ? r : g;
  25. Result = Result > b ? Result : b;
  26. break;
  27. case 2://加权平均值法
  28. Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b));
  29. break;
  30. }
  31. bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result));
  32. }
  33. this.pictureBox1.Image = bitmap;
  34. }

c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe

时间: 2024-10-14 06:13:50

c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe的相关文章

将图片转换为base64 格式

1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL 例子:给定图片的url 将图片转换为base64 var imageSrc = "../images/0.jpg"; // 图片的URL //@param image:Image 对象,ext:图片的格式(jpg)function getBase64Image(image,ext){ var canvas = document.createElement("canvas"); c

JAVA 将图片转换为Base64编码

这里使用的jar包是commons-codec-1.10.jar; 示例代码 1 import java.io.FileInputStream; 2 import java.io.FileOutputStream; 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 7 import org.apache.commons.codec.binary.Base64;

怎么样有效的把图片转换为cad

制图工程师们在制图的过程中经常会需要把一些漂亮的图片转换成CAD格式,在绘图的时候使用,那么怎么把图片转换成为CAD才是最有效的呢? 迅捷CAD编辑器是一款专业的CAD编辑工作,软件支持CAD图纸浏览.编辑.转换等工作.这里我们同样可以使用迅捷CAD编辑器用图片转成CAD格式图纸. 步骤一,下载.安装迅捷CAD编辑器 请在浏览器中,在编辑框中输入迅捷CAD编辑器,点击进入软件官网(http://cad.xjpdf.com/),然后在官网点击"立即下载"按钮,将软件下载安装到电脑上. 步

CircleImageManager ——将图片转换为圆形图片的类

package com.kale.utils; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.g

PHP将Base64图片转换为本地图片并保存

本文出至:新太潮流网络博客 /** * [将Base64图片转换为本地图片并保存] * @E-mial [email protected] * @TIME 2017-04-07 * @WEB http://blog.iinu.com.cn * @param [Base64] $base64_image_content [要保存的Base64] * @param [目录] $path [要保存的路径] */ function base64_image_content($base64_image_c

Activity转换为View和把图片转换为View

package com.example.viewpager01; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.LocalActivityManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; import

iOS:给图片置灰色

一.在iOS开发中,给图片置灰色这个功能经常会用到,例如商品展示时,商品过期或者下线了,那么图片就需要这个功能.下面这个方法就可以到达目的. /** UIImage:去色功能的实现(图片灰色显示) @param sourceImage 图片 */ - (UIImage *)grayImage:(UIImage *)sourceImage { int bitmapInfo = kCGImageAlphaNone; int width = sourceImage.size.width; int he

怎么用转换器把图片转换为PDF格式

PDF文件与Office.TXT.图片格式之间的转换一直都是办公用户最为关注的话题,对于如何将批量PDF中的图片转换成Word文档更是困扰着许多人.本文将介绍一种方法直接将PDF批量图片转换为为Word文档. 首先介绍本次要用到的转换工具: 以迅捷PDF转换器为例,这是一款无须依赖Adobe Acrobat,Acrobat Reader 软件,提供多个文档转换模式和编辑功能,比如我们通过这款软件来完成文件转Word.文件转Excel.文件转PPT等,另外也可以进行PDF切割.PDF合并.PDF解

windows+caffe(二)——图片转换为levedb格式

借鉴于langb2014的  http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的  http://blog.csdn.net/liukailun09/article/details/51119052 1.数据 下载:来自langb2014大神的数据:http://pan.baidu.com/s/1nuqlTnN 数据介绍: 共有500张图片,分为大巴车.恐龙.大象.鲜花和马五个类,每个类100张.编号分别以3