易网时代-编程资源站
Welcome
首页
/
软件开发
/
.NET编程技术
GDI+中常见的几个问题(1)
2017-02-06
14
GDI+中常见的几个问题(1)2011-04-15 博客园 Hotcan1.GDI+的前世今生GDI+全称图形设备接口,Graphics Device Interface (GDI) ,他的爸爸叫做GDI, 用C写 的。Windows XP出来以后用C++重新写了一下,变成了GDI+。从.NET Framework 1.0开始, GDI+就被正式封装在了.NET Framework里面,并被广泛地应用到了所有和图形图像相关的程 序中。不幸的是,这个GDI+...
GDI+中常见的几个问题(2)
2017-02-06
14
GDI+中常见的几个问题(2)2011-04-15 博客园 Hotcan3. System.OutOfMemoryException首先我们还是来看一段代码Bitmap bmpTemp = new Bitmap(image);Bitmap bmp = new Bitmap(bmpTemp);bmpTemp.Dispose();Bitmap bmp2 = bmp.Clone(new Rectangle(1, 1, bmp.Width, bmp.Height)...
GDI+中常见的几个问题(3)
2017-02-06
16
GDI+中常见的几个问题(3)2011-04-15 博客园 Hotcan4. 为啥读个图那么慢?一般来说,读图可以用以下几种方法:1 public static Image FromFile(string filename);2 public static Image FromFile(string filename, bool useEmbeddedColorManagement);3 public static Bitmap FromHbitmap(I...
GDI+中常见的几个问题(4)
2017-02-06
14
GDI+中常见的几个问题(4)2011-04-15 博客园 Hotcan5.读图是快了,处理怎么还是慢?GDI+的Bitmap类提供了两个罪恶的函数GetPixel, SetPixel,用来获取某个像素点的颜色 值。这个2个函数如果只调用一次两次也就罢了,万一我想把整张图片加红一点,用下面的代 码,我估计你等到黄花菜都凉了,还没有算完呢。 看看下面的代码是怎么写的。1 FileStream fs = new FileStream(image, FileMo...
GDI+中常见的几个问题(5)
2017-02-06
15
GDI+中常见的几个问题(5)2011-04-15 博客园 Hotcan6.透明,半透明和不透明这是个大题目。在WinForm/WPF里面我们经常会看到一些关于透明的属性,比如Backcolor 里面可以选择Transparant, Form里面有一个叫Opacity的属性。都是和透明以及透明度相关 的。在其实是在GDI+应用层上的一些东西,在这里我就不讲了。主要从更基本的地方讲起, 其中还包括两块完全不同的内容。6.1 Alpha我们在上一讲中提到了Pi...
GDI+中常见的几个问题(6)
2017-02-06
14
GDI+中常见的几个问题(6)2011-04-15 博客园 Hotcan6.2 GIFGIF的全称是图像交换格式Graphics Interchange Format,是CompuServe公司在1987年创 建并使用的。这种格式使用8位索引值来表达一个像素,也就是说1个像素1个byte,最多可以 表示256种颜色。它使用LZW无损压缩算法来对图像进行压缩,之后这家公司又和几家其他的 公司发明了PNG文件格式,并被更广泛地应用在Web以及其他领域。GIF支...
GDI+中常见的几个问题(7)
2017-02-06
14
GDI+中常见的几个问题(7)2011-04-15 博客园 Hotcan7. 多帧图像为了赶上英雄第三季的播放日程,我决定一个星期出一集。 在第七集Heroes里面,Peter 的功能都被他老爸吸收掉了。所以我的这个系列的第七集来讲讲GDI+没完全实现的一部分功 能。多帧图像是指在一幅图像中有多个帧,支持多帧图像的格式不多,只有TIFF和GIF。其他 格式都不能作为多帧图像存储。其中TIFF可以支持很多页,GIF动画也支持多帧。使用GDI+可 以生成多帧T...
GDI+中常见的几个问题(8)
2017-02-06
14
GDI+中常见的几个问题(8)2011-04-15 博客园 Hotcan哈哈,这个星期Heroes第八集终于出来了,我继续顺着上一节外传讲下去,修改颜色怎么 做。8.1 使用原始的方法修改图像的RGB以及色调,饱和度和亮度最简单的办法,很容易,就是用之前的LockBits,然后直接修改R,G,B的数值,具体的就 不多说了。在GDI+里面,Color有3个方法,分别是GetHue(), GetSaturation(), GetBrightness()。它是图...
GDI+中常见的几个问题(8.外传1)
2017-02-06
14
GDI+中常见的几个问题(8.外传1)2011-04-15 博客园 Hotcan8. 颜色修正我最近一直在颜色空间中纠结,前面讲的透明不透明只是一种特殊的颜色。今天我准备要 讲的是真正的修正颜色。我们使用的数码相机有不同的型号,感光的CCD性能也是不一样的, 再加上天气或者周围光线的原因,我们排出来的照片可能会偏色。此外,为了做一些特殊处 理,可能需要将照片中某一个特殊的区域颜色进行修正。比如脸色可以变得更好一点,或者 头发更黑一点等等。这个Topic很大...
GDI+中常见的几个问题(9)
2017-02-06
15
GDI+中常见的几个问题(9)2011-04-15 博客园 Hotcan今天来讲讲上个星期遗留下来的东西:ColorMatrix。9. Color Matrix图像的本质是什么?对不同的人来说这是不同的东西。在计算机的世界中,啥东西都是数 据,图像也是一种数据。从自然界的光变成计算机的数据,需要通过采样和量化的处理。图 像在计算机中,其实是一个二维数组,从数学上来说,这其实是一个矩阵。图像中的每一个 点都是个四维向量,也就是(R,G,B,A), 在RGBA...
GDI+中常见的几个问题(10)
2017-02-06
15
GDI+中常见的几个问题(10)2011-04-15 博客园 Hotcan10. Graphics的几个属性。今天我来讲讲Graphics在DrawImage里的几个的属性。Graphics是GDI+里面的大拿,可以用来画线,画矩形,甚至可以用来画各种各样的材质。 通过不同的Pen,Brush来实现。具体的使用方法是所有想用GDI+的同学的基础,我就不详细讲 了,具体可以参考MSDN:http://msdn.microsoft.com/en-us/libr...
GDI+中常见的几个问题(11)
2017-02-06
14
GDI+中常见的几个问题(11)2011-04-15 博客园 Hotcan我在前面几章里面提到过ColorMatrix,可以将图像的色彩进行仿射变换。但是如果要对图 像的色彩进行非线性变换的话,那就必须用到更强悍的API了。在Windows早期,有一套标准 的色彩管理的API,叫做ICM 2.0 (Image Color Management 2.0)。在Windows Vista 以后, 这套API升级成了WCS 1.0 (Windows Color S...
使用动态代理记录方法执行的时间
2017-02-06
17
使用动态代理记录方法执行的时间2011-04-15 博客园 zhuweisky在大型系统中,我们经常需要监视我们系统执行的性能状况,当出现性能问题时,我们要 能够迅速地找到瓶颈在什么地方。在程序的层面上来说,就是看哪个方法执行所消耗的时间 很长。使用动态代理可以非常方便的记录方法执行的时间,比如,下面的截图,就是 ESBasic.Emit.Aop.Interceptors.MethodTimeInterceptor截获器记录的片段:2009-4-17 1...
已知经纬度坐标导入ArcMap生成shp格式文件
2017-02-06
15
已知经纬度坐标导入ArcMap生成shp格式文件2011-04-15 博客园 gisdream一、准备工作:1.首先将得到的经纬度坐标(一般为经纬度)转换为度格式,转换公式为=LEFT(C3,3) +MID(C3,FIND("°",C3)+1,2)/60+MID(C3,FIND("′",C3) +1,4)/3600 (注:各参数根据具体情况而定)2.重新生成一张Excel表,对应的x,y坐标分别生...
.NET3.5 GDI+图形操作1
2017-02-06
16
.NET3.5 GDI+图形操作12011-04-15 博客园 牛腩前言: 本文章转载自本人刚刚买的《ASP.NET 3.5从入门到精通》这本书,此书介绍在 http://www.china-pub.com/44991 ,本文章95%与此书的内容完全一样,另5%是我改正一些 失误以后加上去的,该书原示例代码只能运行在IE核心的浏览器上,非IE核心浏览器上运行 会出现些显示问题,本人更改了其中的一些代码。本文章经历昨晚本人五个小时的手打而成 (且还未打完,下...
.NET3.5 GDI+图形操作2
2017-02-06
16
.NET3.5 GDI+图形操作22011-04-15 博客园 牛腩10.1.3 .NET对绘图的支持.NET对图形操作的支持类库都集中在System.Drawing命名空间下。所以在直接使用.NET类 库时,不要忘记添加using System.Drawing。下表列出了绘图常的类库,下一节将以示例的方式辅助理解。上表只是罗列了部分常用类型,在基本图形操作中已经足够了。用户可以使用GDI+在 Windows窗体和控件上呈现图形图像。虽然无法在Web窗体上...
.NET3.5 GDI+图形操作3
2017-02-06
14
.NET3.5 GDI+图形操作32011-04-15 博客园 牛腩10.2.4 BrushBrush通常被称为,用于定义填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径) 的内部对象。Brush是一个抽象基类,不能进行实例化。若要创建一个画笔对象,需使用从 Brush派生出的类,如SolidBrush、TextureBrush和LinearGradientBrush。SolidBrush类用于定义单色画笔。画笔用于填充图形形状,如矩形、椭圆、扇形、多边...
.NET3.5 GDI+图形操作4
2017-02-06
15
.NET3.5 GDI+图形操作42011-04-15 博客园 牛腩10.3 基本绘图在.NET中图形包括以下两个步骤。第一,创建Graphics对象。第二,使用Graphics对象绘制线条和形状,呈现文本或显示操作图像。由此可见,如何创建Graphics对象是首先要解决的问题。本节将讲述如何绘制直线、矩形 、圆等基本图形,然后基本图形构成复杂的图形。Graphics常用的绘图方法如下表。10.3.1 创建图形对象创建图形对象可有如下几种方法。²...
.NET3.5 GDI+图形操作5
2017-02-06
14
.NET3.5 GDI+图形操作52011-04-15 博客园 牛腩10.3.3 绘制简单图形简单图形是组成复杂图形的基础,通过本小节的例子,读者可以掌握绘制复杂图形的基础 。除了直线外,矩形是所有简单图形的基础。因为在Windows操作系统中,大部分图形在内 存中的表示都是矩形块,比如一个窗体、一个按钮控件等。即使是圆形的界面元素,在表示 其位置时,仍然以所在矩形的左上角坐标为参照点,通过宽和高来框定其位置及其区域。那么如何绘制矩形?Graphics中的...
.NET3.5 GDI+图形操作6(完)
2017-02-06
14
.NET3.5 GDI+图形操作6(完)2011-04-15 博客园 牛腩10.4 应用实例10.4.1 饼图统计图是信息管理系统常用的功能,常用的有饼图、柱形图、拆线图等。饼图用来表示各 部分比例,柱形图用来表示各部分的比较,拆线图用来表示发展趋势,另外还有其他一些具 有特殊功能的图示。本小节将以二维饼图为例说明通过.NET GDI+来绘制统计图的原理。本例实现效果很简单,即根据给予的一组数据计算出各个数据项的比例,并分别用不同颜 色表示,组成一个圆饼,...
<<
51
52
53
54
55
56
57
58
59
60
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图