【C#学习笔记】图片像素操作
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 = , , bitmap.Width, bitmap.Height);
            BitmapData bmpdata= bitmap.LockBits(rect, ImageLockMode.ReadWrite,bitmap.PixelFormat);
            byte* pix = (byte*)bmpdata.Scan0;
            if (bitmap.PixelFormat==PixelFormat.Format8bppIndexed)  //是否为灰度图
            {
                ; i < bmpdata.Height; i++)
                {
                    ; j < bmpdata.Width; j++)
                    {
                        pix[] = ( - pix[]);      //反色
                        pix++;
                    }
                }
            }
            else
            {
                ; i < bmpdata.Height;i++ )
                {
                    ; j < bmpdata.Width;j++ )
                    {
                        pix[] = ( - pix[]);      //反色
                        pix[] = ( - pix[]);
                        pix[] = ( - pix[]);
                        pix = pix + ;
                    }
                }
            }
            bitmap.UnlockBits(bmpdata);
            pictureBox2.Image=bitmap;
        }
    }
}
【C#学习笔记】图片像素操作的更多相关文章
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)
		
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...
 - tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
		
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
 - jQuery学习笔记之DOM操作、事件绑定(2)
		
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
 - IOS学习笔记25—HTTP操作之ASIHTTPRequest
		
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
 - java学习笔记07--日期操作类
		
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
 - ROS学习笔记INF-重要操作列表
		
该笔记将重要操作的步骤进行列表,以便查询: 添加消息 在包中的msg文件夹中创建msg文件 确保package.xml中的如下代码段被启用: <build_depend>message_g ...
 - Oracle 学习笔记 14 -- 集合操作和高级子查询
		
Oracel提供了三种类型的集合操作:各自是并(UNION) .交(INTERSECT). 差(MINUS) UNION :将多个操作的结果合并到一个查询结果中,返回查询结果的并集,自己主动去掉反复的 ...
 - node 学习笔记 - fs 文件操作
		
本文同步自我的个人博客:http://www.52cik.com/2015/12/03/learn-node-fs.html 最近看到群里不少大神都开始玩 node 了,我感觉跟他们步伐越来越大了, ...
 - Symfony2学习笔记之数据库操作
		
数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标 ...
 
随机推荐
- ACE 1.1.9 发布,开源云端代码编辑器
			
点这里 ACE 1.1.9 发布,开源云端代码编辑器 oschina 发布于: 2015年04月06日 (1评) 分享到: 收藏 +25 4月18日 武汉 源创会开始报名,送华为开发板 ACE ...
 - POJ 1338
			
#include<iostream> #include<stdio.h> #include<iomanip> #define MAXN 100000 using n ...
 - 最常用的javascript方法函数
			
字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = "&quo ...
 - jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
			
比如JsonResult中返回return Json(models);的models结构如下: models返回含有四个集合的序列,每个集合的序列中又包含一个子集合序列“Child”. 问题是如果我们 ...
 - Spring MVC 教程,快速入门,深入分析(转)
			
原文地址:http://elf8848.iteye.com/blog/875830/
 - http://www.cnblogs.com/TankXiao/p/4018219.html
			
http://www.cnblogs.com/TankXiao/p/4018219.html
 - SMB2 Protocol – 简介(应用层协议主要用于在计算机间共享文件、打印机、串口等)
			
SMB2 Protocol – 简介 SMB协议简介: 服务器信息块(SMB)协议是一个应用层协议主要用于在计算机间共享文件.打印机.串口等. 在介绍SMB协议的时候,一般提到使用的端口为139,44 ...
 - Docker搭建MySQL服务
			
Docker开源镜像 前面我们已经安装好了Docker,也简单了解了Docker.那么我们可以尝试搭建一个MySQL服务. 要搭建服务就要启动服务容器,要创建容易就要有镜像,Docker提供了一个类似 ...
 - JavaWeb笔记——利用过滤器实现页面静态化
			
1.说明 页面静态化是把动态页面生成的html保存到服务器的文件上,然后再有相同请求时,不再去执行动态页面,而是直接给用户响应上次已经生成的静态页面. * 核心思路为拦截请求,实现请求转发指向静态页面 ...
 - 实际操作中命令 su 与 sudo 的区别(转)
			
------------------------------------------------------------------------------------------------ 首先我 ...