博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#学习笔记】图片像素操作
阅读量:5246 次
发布时间:2019-06-14

本文共 1957 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing.Imaging;namespace WindowsFormsApplication4{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            OpenFileDialog dig = new OpenFileDialog();            if (dig.ShowDialog() == DialogResult.OK)                pictureBox1.Image = Image.FromFile(dig.FileName);        }        unsafe private void button2_Click(object sender, EventArgs e)        {            Bitmap bitmap =(Bitmap)pictureBox1.Image.Clone();   //创建副本,避免操作原图像            Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);            BitmapData bmpdata= bitmap.LockBits(rect, ImageLockMode.ReadWrite,bitmap.PixelFormat);            byte* pix = (byte*)bmpdata.Scan0;            if (bitmap.PixelFormat==PixelFormat.Format8bppIndexed)  //是否为灰度图            {                for (int i = 0; i < bmpdata.Height; i++)                {                    for (int j = 0; j < bmpdata.Width; j++)                    {                        pix[0] = (byte)(255 - pix[0]);      //反色                        pix++;                    }                }            }            else            {                for (int i = 0; i < bmpdata.Height;i++ )                {                    for (int j = 0; j < bmpdata.Width;j++ )                    {                        pix[0] = (byte)(255 - pix[0]);      //反色                        pix[1] = (byte)(255 - pix[1]);                        pix[2] = (byte)(255 - pix[2]);                        pix = pix + 3;                    }                }            }             bitmap.UnlockBits(bmpdata);            pictureBox2.Image=bitmap;        }    }}

 

转载于:https://www.cnblogs.com/verstin/p/3360686.html

你可能感兴趣的文章
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
python-三级菜单和购物车程序
查看>>
条件断点 符号断点
查看>>
水平垂直居中
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>