C# 获取图片某像素点RGB565值
Project Source Download: http://download.csdn.net/detail/mostone/6360007
- public partial class FormMain : Form
- {
- Bitmap bmpZoom = null;
- Bitmap bmpSrc = null;
- public FormMain()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- DialogResult isDone = openFileDialog1.ShowDialog();
- if (isDone == DialogResult.OK)
- {
- pictureBox1.Image = null;
- pictureBox2.Image = null;
- bmpSrc = null;
- bmpZoom = null;
- Image img = Bitmap.FromFile(openFileDialog1.FileName);
- pictureBox1.Image = img;
- bmpSrc = new Bitmap(img);
- }
- }
- catch (Exception ex)
- {
- pictureBox1.Image = null;
- bmpSrc = null;
- MessageBox.Show(ex.Message);
- }
- }
- private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
- {
- const int zoomSize = 8;
- if (this.bmpSrc == null)
- {
- return;
- }
- bmpZoom = null;
- bmpZoom = new Bitmap(pictureBox2.Width, pictureBox2.Height);
- Graphics grpDst = Graphics.FromImage(bmpZoom);
- // zoom to 8x
- int width = pictureBox2.Width / zoomSize;
- int height = pictureBox2.Height / zoomSize;
- int offsetX = width / 2;
- int offsetY = height / 2;
- int x = e.X - offsetX;
- int y = e.Y - offsetY;
- if (offsetX + e.X >= bmpSrc.Width)
- {
- x = bmpSrc.Width - offsetX * 2;
- }
- else if (x < 0)
- {
- x = 0;
- }
- if (offsetY + e.Y >= bmpSrc.Height)
- {
- y = bmpSrc.Height - offsetY * 2;
- }
- else if (y < 0)
- {
- y = 0;
- }
- Color color;
- int oriX = x;
- for (int row = 0; row < pictureBox2.Height; row += zoomSize)
- {
- if (y >= bmpSrc.Height) break;
- for (int col = 0; col < pictureBox2.Width; col += zoomSize)
- {
- if (x >= bmpSrc.Width) break;
- // get pixel color
- color = bmpSrc.GetPixel(x, y);
- // draw zoom block
- grpDst.FillRectangle(new SolidBrush(color), col, row, zoomSize, zoomSize);
- x++;
- }
- x = oriX;
- y++;
- }
- pictureBox2.Image = bmpZoom;
- }
- private void pictureBox2_MouseClick(object sender, MouseEventArgs e)
- {
- if (bmpZoom == null) return;
- Color color = bmpZoom.GetPixel(e.X, e.Y);
- labelColor.BackColor = color;
- String val = color.ToArgb().ToString("X");
- textBox1.Text = "#" + val.Substring(2);
- textBox2.Text = "#" + rgb565FromColor(color).ToString("X");
- textBox3.Text = "#" + rgb565PFromColor(color).ToString("X");
- }
- private int rgb565FromColor(Color color)
- {
- int val = color.B >> 3 << 11;
- val |= color.G >> 2 << 5;
- val |= color.R >> 3;
- return val;
- }
- private int rgb565PFromColor(Color color)
- {
- int val = color.R >> 3 << 11;
- val |= color.G >> 2 << 5;
- val |= color.B >> 3;
- return val;
- }
- private void button2_Click(object sender, EventArgs e)
- {
- MessageBox.Show(@"Image Color Picker
- by mostone@hotmail.com
- http://blog.csdn.net/mostone
- 2013-10-06", "About...");
- }
- }
C# 获取图片某像素点RGB565值的更多相关文章
- js 获取图片url的Blob值并预览
1)使用 XMLHttpRequest 对象获取图片url的Blob值 //获取图片的Blob值 function getImageBlob(url, cb) { var xhr = new XMLH ...
- PHP获取图片每个像素点
PHP获取图片每个像素点<pre> $i = imagecreatefromjpeg("test.jpg"); //图片路径 for ($x = 0; $x < ...
- OpenCV获取与设置像素点的值的几个方法
Title: OpenCV OpenCV像素值的获取与设置 Fn 1 : 使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,st ...
- cocos2d-x 获取图片的某像素点的RGBA颜色 -转
cocos2d-x 获取图片的某像素点的RGBA颜色 原文:http://www.cnblogs.com/jaoye/archive/2013/02/19/2916501.html 没做过 太多的图 ...
- python opencv 读取图片 返回图片某像素点的b,g,r值
转载:https://blog.csdn.net/weixin_41799483/article/details/80884682 #coding=utf-8 #读取图片 返回图片某像素点的b,g ...
- php获取图片RGB颜色值的例子
php获取图片RGB颜色值的例子 很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片. 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RG ...
- atitit.图片相似度与图片查找的设计 获取图片指纹
atitit.图片相似度与图片查找的设计. 1. 两张图片相似算法 1 2. DCT(离散余弦变换(DiscreteCosineTransform))编辑 2 3. 编辑距离编辑 3 4. Java ...
- C#获取图片的后缀名
最近在学习过程中遇到一个问题,就是如何获取图片的格式,对于一张知道全路径的照片,如果其路径包含后缀名的话,要取得后缀名,只需要一行代码即可: var ext = System.IO.Path.GetE ...
- js和jquery如何获取图片真实的宽度和高度
按照插入的图片的尺寸来判断图片是横图还是竖图.然后判断过后给予不同的展示方式,下面为大家介绍下js和jquery如何获取图片真实的宽度和高度 1.什么时候需要获取图片真实的宽度和高度 在做pc网页 ...
随机推荐
- 为什么原生的servlet是线程不安全的而Struts2是线程安全的?
因为原生的servlet在整个application生命周期中,只在初次访问的时候实例化一次,以后都不会再实例化,只会调用Server方法进行响应,所以如果在servlet类中定义成员变量,那么就会让 ...
- Kafka详解六:Kafka如何通过源码实现监控
问题导读: 1.kafka的消费者组的消费偏移存储,kafka支持两个版本? 2.ConsumerOffsetChecker类的作用是什么? 3.Kafka如何通过源码实现 ...
- 【转】ListView优化为何ViewHolder用static类
如果有人还不了解ViewHolder为什么可以起到优化作用,我这边再做下简单说明:Android的findViewById动作是比较耗时的,需要遍历布局的树形结构,才能找到相应的视图.所以如果想在这一 ...
- mysql数据库优化课程---3、数据库设计是什么
mysql数据库优化课程---3.数据库设计是什么 一.总结 一句话总结: 就是设计各个字段及各个字段类型 1.char,varchar,text同存'ABC'的存储空间为多少? char(255): ...
- 英语发音规则---U字母-[复习中]
英语发音规则---U字母 一.总结 一句话总结:(注:本文所有//的音标为英音音标,[]的音标为美音音标) 1.U在开音节中发[ju ]/ ju: /? duty /'djuːtɪ/ ['dʊti] ...
- jedis提纲
A01 - jedis库介绍 A01 - 在多线程下使用Jedis A01 - Jedis的八种调用方式 A02 - API使用文档 A02 - Jedis代码编程使用(简单的使用) A03 ...
- [Linq] ORM
orm 对象关系映射框架,主要将关系数据库中的数据 ,映射成应用程序的对象.表为类名,列为类的字段. ADO.NET entity framework 在ADO.NET基础上发展出来的对象关 ...
- python里混淆矩阵 左下角为漏报,右上角为误报
1为黑样本,0为白样本: Counter({1: 105, 0: 95}) check counter!confusion_matrix:[[83 12(预测值为1,实际为0,误报)] [15(预测值 ...
- handsontable 给单元格自定义属性
setHotAttr(hotObj,rowHeader,colHeader){// 给handsongtable绑定行列属性 console.log(hotObj); console.log(colH ...
- Git学习--创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...