<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[曹江波的博客]]></title><description><![CDATA[博客已搬家：http://www.cnblogs.com/Keep-Silence-/ 有兴趣的同学可移步此处关注]]></description><link>https://blog.youkuaiyun.com/Keep_Silence_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Keep_Silence_]]></copyright><item><title><![CDATA[你真的知道数据在内存的存储顺序吗？]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8139961</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8139961</guid><author>Keep_Silence_</author><pubDate>Fri, 02 Nov 2012 11:08:16 +0800</pubDate><description><![CDATA[一：背景
      话说昨天我居然奇迹般的去上C#课（老师是个美女，大家懂得....），感觉好久没去上她的课了，搞得自己都不好意思了，正好趁这个机会去看看她（不要多想哦，亲）。在课上，老师讲到个文件流的读写的例子，有一段代码引起了我的兴趣，以为是一个很简单的问题，但是运行的结果去让我很吃惊，我顿时有种冲动，想说一句：我靠，这啥玩意！哈哈 ，扯淡了，不多说了，下面我来还原下现场的情形：]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(17)-获取系统已安装的所有字体]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8130005</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8130005</guid><author>Keep_Silence_</author><pubDate>Tue, 30 Oct 2012 20:05:54 +0800</pubDate><description><![CDATA[private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.Clear(Color.White);
            g.SmoothingMode = SmoothingMode.AntiAlias;]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(16)-字体Font]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8129665</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8129665</guid><author>Keep_Silence_</author><pubDate>Tue, 30 Oct 2012 18:32:14 +0800</pubDate><description><![CDATA[字体，对于大部分人来说都不陌生，在文本编辑软件中（如 Word）字体是必不可少的，同样,在GDI+中，绘制字符串也是需要字体的。在介绍字体Font类的使用之前，先引入一些与其有关的类或者枚举：
 
      (1)字体系列 FontFamily:
            GDI+中将具有相同的样式成为字体系列，如我们常见的 “宋体”、“仿宋”  、“微软雅黑”、 “Arial”等。]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(15)-路径渐变画刷]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8123960</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8123960</guid><author>Keep_Silence_</author><pubDate>Mon, 29 Oct 2012 13:37:02 +0800</pubDate><description><![CDATA[同线性渐变画刷相比，路径渐变画刷的最大特点在于：线性渐变画刷的渐变方向比较单一（水平，垂直，固定角度），而路径渐变画刷的渐变方向是从路径中央到路径边缘，是一种呈发散状的渐变，所以在使用路径渐变画刷填充目标区域前，处理需要指定对象外，还要指定路径的中心点颜色以及路径边界的颜色。
下面为路径渐变画刷的基本使用，构建一个中心点为红色的五角星：
 
 private void Form1_Paint]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(14)-线性渐变画刷之多色渐变]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8123869</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8123869</guid><author>Keep_Silence_</author><pubDate>Mon, 29 Oct 2012 13:08:05 +0800</pubDate><description><![CDATA[private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.Clear(Color.White);

            //定义渐变颜色数组
            Color[] colors =]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(13)-线性渐变画刷 LinearGrandientBrush]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8003584</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/8003584</guid><author>Keep_Silence_</author><pubDate>Fri, 21 Sep 2012 12:17:20 +0800</pubDate><description><![CDATA[线性渐变画刷的基本使用

    Demo:
 
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.Clear(Color.White);

            Pen my]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(12)-纹理画刷TextureBrush的排列方式]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7990900</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7990900</guid><author>Keep_Silence_</author><pubDate>Tue, 18 Sep 2012 11:16:33 +0800</pubDate><description><![CDATA[在TextureBrush 类的构造函数的参数中，WrapMode 指定了画刷中基本图案的排列方式，GDI+ 的WrapMode 枚举提供了五种不同的排列方式：
 

 
 
具体的应用如下图所示：
 

 
 
使用上一章的金鱼图片进行填充，Demo:
 
private void Form1_Paint(object sender, PaintEventArgs e)]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(11)- 纹理画刷 TextureBrush的基本使用]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7989295</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7989295</guid><author>Keep_Silence_</author><pubDate>Mon, 17 Sep 2012 20:57:03 +0800</pubDate><description><![CDATA[纹理画刷(TextureBrush)实际上就是将图片在目标区域进行平铺，同影线画刷（HatchBrush）类似，纹理画刷也是使用同样的基本图案在水平方向和垂直方向上进行一定顺序排列之后构成的画刷。不同的是，影线画刷使用的基本图案是由简单的点、线条构成的，其色彩也只有前景色和背景色。而纹理画刷使用的基本图案为导入的图片或导入图片的部分区域，色彩也是任意的。下为纹理画刷的基本使用Demo。
Demo]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(10)- 影线画刷HatchBrush]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7989053</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7989053</guid><author>Keep_Silence_</author><pubDate>Mon, 17 Sep 2012 19:47:46 +0800</pubDate><description><![CDATA[影线画刷（HatchBrush）的基本使用：
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.Clear(Color.White);

            //构建第一种影线画刷]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(9)- 单色画刷 SolidBrush]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7954071</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7954071</guid><author>Keep_Silence_</author><pubDate>Fri, 07 Sep 2012 11:03:21 +0800</pubDate><description><![CDATA[单色画刷是五种画刷中最简单的一种，其由类 SolidBrush创建。创建的代码很简单，只用在创建过程中指明画刷的颜色即可。单身画刷主要用处体现在对图形区域的填充中，GDI+ 提供了以下几种填充函数，填充的时候主要把画刷对象作为参数即可，此处正好的体现出C#的完全的面向对象的思想。




填充函数


函数功能描述




FillClosedCurve


填充闭]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(8)- 画刷 Brush简介]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7951984</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7951984</guid><author>Keep_Silence_</author><pubDate>Thu, 06 Sep 2012 18:30:35 +0800</pubDate><description><![CDATA[画刷是用来填充区域的，在GDI+ 中，画刷分为五种： 单色画刷，也叫固体画刷(SolidBrush), 影线画刷(HatchBrush),纹理画刷(TextureBrush),线型渐变画刷(LinearGradientBrush),路径渐变画刷(PathGradientBrush)。这五种画刷全部都是由其共同的基类 Brush 类派生而来的，与画笔笔筒，画刷是用来填充区域的，所以画刷是没有宽度和长]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(7)- 直线连接点 LineJoin]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7941125</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7941125</guid><author>Keep_Silence_</author><pubDate>Tue, 04 Sep 2012 11:01:36 +0800</pubDate><description><![CDATA[LineJoin 枚举值及其含义

 
 
例程效果图：
 

 
例程：
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.Clear(Color.White);]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(6)- 画笔转换 Transform]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934343</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934343</guid><author>Keep_Silence_</author><pubDate>Sun, 02 Sep 2012 12:41:36 +0800</pubDate><description><![CDATA[private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            g.Clear(Color.White);

            Pen p = new Pen(Color.Red,6);]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(5)- 画笔线帽 LineCap]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934324</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934324</guid><author>Keep_Silence_</author><pubDate>Sun, 02 Sep 2012 12:37:55 +0800</pubDate><description><![CDATA[线帽”(LineCap),顾名思义，就是线条首尾的外观，在默认的情况下，使用画笔绘制出的直线，其起点和终点都是相同的---方形。在GDI+中，可以通过修改画笔的 StartCap 属性来设置起点的线帽，通过修改EndCap来设置终点的线帽。不同外观的线帽是有LineCap 枚举列出的，其定义如下表：




成员
说明


AnchorMask
指定用于检查线帽是否为锚头帽的掩]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(4)-画笔对齐 PenAlignment]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934246</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7934246</guid><author>Keep_Silence_</author><pubDate>Sun, 02 Sep 2012 12:03:36 +0800</pubDate><description><![CDATA[由于画笔是有宽度的，相对于绘制线条来说，画笔宽度方向上的中心位置是由其对齐方式来决定的，在GDI+中，画笔对齐方式是有枚举 PenAlignment 来描述的，PenAlignment 定义表如下所示：




成员
说明


Center
指定 Pen 对象以理论的线条为中心。


Inset
指定 Pen 被定位于理论的线条内。


Outset
指定将 P]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(3)-画笔线型 DashStyle]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931693</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931693</guid><author>Keep_Silence_</author><pubDate>Sat, 01 Sep 2012 11:05:18 +0800</pubDate><description><![CDATA[通过使用Pen 类的属性DashStyle 可以设置或者访问画笔的线型，GDI+ 在 DashStyle 枚举中提供了5中常见的画笔线型风格，DashStyle 不同的枚举值及其含义如下表所示：
 DashStyle 不同的枚举值 












 成员


  说明



Solid
指定实线


Dash
指定由划线段组成的直线]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(2)-画笔 Pen]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931623</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931623</guid><author>Keep_Silence_</author><pubDate>Sat, 01 Sep 2012 10:55:22 +0800</pubDate><description><![CDATA[画笔(Pen)用于描述图形的轮廓，GDI+的画笔除了有常见的色彩和宽度属性外，还添加了其他的属性，如对齐方式、线帽、变换方式等高级属性。
 private void button1_Click(object sender, EventArgs e)
        {
            //创建Graphics对象
            Graphics g = this.Crea]]></description><category></category></item><item><title><![CDATA[GDI+学习记录(1)-Graphics]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931541</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7931541</guid><author>Keep_Silence_</author><pubDate>Sat, 01 Sep 2012 10:14:18 +0800</pubDate><description><![CDATA[GDI+的核心 Graphics
       Graphics类是GDI+的核心，其能够完成大部分的绘图、文本输出、几何图形的填充、坐标的转换等操作，在功能上，其与GDI中的DC(设备环境句柄 Device Context)是一致的，可以把其理解为一张绘图所需的“图纸”，各种绘图操作都是在这张“图纸”上进行的，这里笔者把其称为“绘图平面”。
      Graphics类的构造方法有如下几种]]></description><category></category></item><item><title><![CDATA[GDI+学习记录---前言]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7930751</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7930751</guid><author>Keep_Silence_</author><pubDate>Fri, 31 Aug 2012 21:05:01 +0800</pubDate><description><![CDATA[GDI+学习记录---前言
        每次上QQ的时候（虽然自己平时不怎么上），总觉得他的界面UI写的很漂亮，也很想学习下他的界面是如何编写的，于是就有了这篇文章（或者这个系列）。以前用Delphi Pascal 零零碎碎的学过GDI+,但是没有完整的、系统的学习，这次打算把自己在学习GDI+过程中学到的知识给记录下来，增加自己的印象，俗话说的好，好记性不如烂笔头，本人深有此感。]]></description><category></category></item><item><title><![CDATA[一种你不知道的解决窗体闪烁的方法]]></title><link>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7850247</link><guid>https://blog.youkuaiyun.com/Keep_Silence_/article/details/7850247</guid><author>Keep_Silence_</author><pubDate>Fri, 10 Aug 2012 11:49:13 +0800</pubDate><description><![CDATA[今天在逛优快云论坛的时候，发现有人提出用 SystemParametersInfo 这个API函数 来解决窗体闪烁的问题。由于好奇笔者就查看 SystemParametersInfo 这个函数的文档，当我看到了 其中的2个参数常量的时候 终于明白这货是怎么一回事了。涉及到SystemParametersInfo 函数的2个参数常量如下：
         SPI_GETDRAGFULLWIND]]></description><category></category></item></channel></rss>