資源簡介
C# 獲取圖片某像素點RGB565值
ScreenShot:http://blog.csdn.net/mostone/article/details/12353683
代碼片段和文件信息
//?Image?Color?Picker
//?by?mostone@hotmail.com
//?http://blog.csdn.net/mostone
//?2013-10-06
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;
namespace?mostone
{
????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?????????????{
????????????????if?(y?>=?bmpSrc.Height)?break;
????????????????for?(int?col?=?0;?col?????????????????{
????????????????????if?(x?>=?bmpSrc.Width)?break;
????????????????????//?get?pixel?color
????????????????????color?=?bmpSrc.GetPixel(x?y);
????????????????????//?draw?zoom?block
????????????????????grpDst.FillRectangle(new?SolidBrush(color)?col?row?zoomSize?zoom
- 上一篇:操作系統實驗 動態分區分配模擬系統
- 下一篇:C#軟件注冊試用期限代碼.zip
評論
共有 條評論