Project Source Download: http://download.csdn.net/detail/mostone/6360007

[csharp] view
plain
 copy

  1. public partial class FormMain : Form
  2. {
  3. Bitmap bmpZoom = null;
  4. Bitmap bmpSrc = null;
  5. public FormMain()
  6. {
  7. InitializeComponent();
  8. }
  9. private void button1_Click(object sender, EventArgs e)
  10. {
  11. try
  12. {
  13. DialogResult isDone = openFileDialog1.ShowDialog();
  14. if (isDone == DialogResult.OK)
  15. {
  16. pictureBox1.Image = null;
  17. pictureBox2.Image = null;
  18. bmpSrc = null;
  19. bmpZoom = null;
  20. Image img = Bitmap.FromFile(openFileDialog1.FileName);
  21. pictureBox1.Image = img;
  22. bmpSrc = new Bitmap(img);
  23. }
  24. }
  25. catch (Exception ex)
  26. {
  27. pictureBox1.Image = null;
  28. bmpSrc = null;
  29. MessageBox.Show(ex.Message);
  30. }
  31. }
  32. private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
  33. {
  34. const int zoomSize = 8;
  35. if (this.bmpSrc == null)
  36. {
  37. return;
  38. }
  39. bmpZoom = null;
  40. bmpZoom = new Bitmap(pictureBox2.Width, pictureBox2.Height);
  41. Graphics grpDst = Graphics.FromImage(bmpZoom);
  42. // zoom to 8x
  43. int width = pictureBox2.Width / zoomSize;
  44. int height = pictureBox2.Height / zoomSize;
  45. int offsetX = width / 2;
  46. int offsetY = height / 2;
  47. int x = e.X - offsetX;
  48. int y = e.Y - offsetY;
  49. if (offsetX + e.X >= bmpSrc.Width)
  50. {
  51. x = bmpSrc.Width - offsetX * 2;
  52. }
  53. else if (x < 0)
  54. {
  55. x = 0;
  56. }
  57. if (offsetY + e.Y >= bmpSrc.Height)
  58. {
  59. y = bmpSrc.Height - offsetY * 2;
  60. }
  61. else if (y < 0)
  62. {
  63. y = 0;
  64. }
  65. Color color;
  66. int oriX = x;
  67. for (int row = 0; row < pictureBox2.Height; row += zoomSize)
  68. {
  69. if (y >= bmpSrc.Height) break;
  70. for (int col = 0; col < pictureBox2.Width; col += zoomSize)
  71. {
  72. if (x >= bmpSrc.Width) break;
  73. // get pixel color
  74. color = bmpSrc.GetPixel(x, y);
  75. // draw zoom block
  76. grpDst.FillRectangle(new SolidBrush(color), col, row, zoomSize, zoomSize);
  77. x++;
  78. }
  79. x = oriX;
  80. y++;
  81. }
  82. pictureBox2.Image = bmpZoom;
  83. }
  84. private void pictureBox2_MouseClick(object sender, MouseEventArgs e)
  85. {
  86. if (bmpZoom == null) return;
  87. Color color = bmpZoom.GetPixel(e.X, e.Y);
  88. labelColor.BackColor = color;
  89. String val = color.ToArgb().ToString("X");
  90. textBox1.Text = "#" + val.Substring(2);
  91. textBox2.Text = "#" + rgb565FromColor(color).ToString("X");
  92. textBox3.Text = "#" + rgb565PFromColor(color).ToString("X");
  93. }
  94. private int rgb565FromColor(Color color)
  95. {
  96. int val = color.B >> 3 << 11;
  97. val |= color.G >> 2 << 5;
  98. val |= color.R >> 3;
  99. return val;
  100. }
  101. private int rgb565PFromColor(Color color)
  102. {
  103. int val = color.R >> 3 << 11;
  104. val |= color.G >> 2 << 5;
  105. val |= color.B >> 3;
  106. return val;
  107. }
  108. private void button2_Click(object sender, EventArgs e)
  109. {
  110. MessageBox.Show(@"Image Color Picker
  111. by mostone@hotmail.com
  112. http://blog.csdn.net/mostone
  113. 2013-10-06", "About...");
  114. }
  115. }

C# 获取图片某像素点RGB565值的更多相关文章

  1. js 获取图片url的Blob值并预览

    1)使用 XMLHttpRequest 对象获取图片url的Blob值 //获取图片的Blob值 function getImageBlob(url, cb) { var xhr = new XMLH ...

  2. PHP获取图片每个像素点

    PHP获取图片每个像素点<pre> $i = imagecreatefromjpeg("test.jpg"); //图片路径 for ($x = 0; $x < ...

  3. OpenCV获取与设置像素点的值的几个方法

    Title: OpenCV OpenCV像素值的获取与设置 Fn 1 : 使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,st ...

  4. cocos2d-x 获取图片的某像素点的RGBA颜色 -转

    cocos2d-x 获取图片的某像素点的RGBA颜色  原文:http://www.cnblogs.com/jaoye/archive/2013/02/19/2916501.html 没做过 太多的图 ...

  5. python opencv 读取图片 返回图片某像素点的b,g,r值

    转载:https://blog.csdn.net/weixin_41799483/article/details/80884682 #coding=utf-8   #读取图片 返回图片某像素点的b,g ...

  6. php获取图片RGB颜色值的例子

    php获取图片RGB颜色值的例子 很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片. 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RG ...

  7. atitit.图片相似度与图片查找的设计 获取图片指纹

    atitit.图片相似度与图片查找的设计. 1. 两张图片相似算法 1 2. DCT(离散余弦变换(DiscreteCosineTransform))编辑 2 3.  编辑距离编辑 3 4. Java ...

  8. C#获取图片的后缀名

    最近在学习过程中遇到一个问题,就是如何获取图片的格式,对于一张知道全路径的照片,如果其路径包含后缀名的话,要取得后缀名,只需要一行代码即可: var ext = System.IO.Path.GetE ...

  9. js和jquery如何获取图片真实的宽度和高度

    按照插入的图片的尺寸来判断图片是横图还是竖图.然后判断过后给予不同的展示方式,下面为大家介绍下js和jquery如何获取图片真实的宽度和高度   1.什么时候需要获取图片真实的宽度和高度 在做pc网页 ...

随机推荐

  1. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confir

    这个问题其实是无意中解决的:因为在网上找不到解决办法,是我在yum -y installl wget后,自动就好了,安装wget的时候,可能更新了openssl的缘故吧.

  2. SEM竞价数据基本分析方法

    今天我们从账户数据表现来看一看怎样通过数据分析,判断账户出现的问题及解决思路.也欢迎大家提出意见,共同讨论进步. 首先我们从关键词报告来分析数据: 以上图数据为例.(设定该行业CPC均价为8) 先说下 ...

  3. 【转】服务器.htaccess 详解以及 .htaccess 参数说明

    htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限 ...

  4. MYSQL进阶学习笔记一:MySQL编码设定,会话变量和全局变量!(视频序号:进阶_1-3)

    知识点一:MySQL编码设定(1-2) 服务器编码设定: 查看MySQL服务器端的编码格式: SHOW VARIABLES LIKE ‘char%’; 设定编码格式: SET NAMES ‘utf8’ ...

  5. RPM和yum相关

    写在前面: 在这里可以知道rpm和yum的基本用法,找到更新本地yum源.搭建yum源的方法以及yum很琐碎的东西,包括yum源的优先级.用yum来安装或卸载CentOS图形界面包以及保存yum下载的 ...

  6. R中读取EXCEL 数据的方法

    最近初学R语言,在R语言读入EXCEL数据格式文件的问题上遇到了困难,经过在网上搜索解决了这一问题,下面归纳几种方法,供大家分享: 第一:R中读取excel文件中的数据的路径: 假定在您的电脑有一个e ...

  7. 将命令绑定到事件中(WPF)

    绑定到指定名称控件的——>指定属性上 <i:Interaction.Triggers>                            <i:EventTrigger E ...

  8. hdu5692 dfs序线段树

    这是补的知识点,按先序遍历的顺序建立dfs序,用左右两个值代表整个区间,因为dfs序最重要的特点就是子树的区间是连续的 建立线段树时,需要用重新标过的 下标来建立 #pragma comment(li ...

  9. 删除OSX中第三方的「偏好设置」程序(.prefPane)

    打开Finder,按Command+Shift+G,输入 /Library/PreferencePanes ~/Library/PreferencePanes 前一个是全局的配置项目录,第二个是当前用 ...

  10. IntelliJ IDEA创建Maven+SSM+Tomcat+Git项目【全程详解】

    记录一下整个创建项目的过程,其中包括: Maven 项目创建: SSM配置文件: Tomcat配置: Git配置: Git忽略文件Ignore配置: 图文讲解,通俗易懂,易上手. 一.创建Maven ...