<<  VB6 GDI+ 入门教程[4] 文字绘制|VB6 GDI+ 入门教程[6] 图片  >>
    VB6 GDI+ 入门教程[5] 基础绘图小结 - [Visual Basic]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://vistaswx.blogbus.com/logs/41223709.html

    终于……我们的基础绘图部分可以先告一段落了。什么叫基础绘图?画线、画圈圈、画方块、画字……等等。我们来总结一下。

     

    我们第一点就是总结DrawXXXX和FillXXXX。

    1.DrawXXXX:描边可以这么说 例如DrawRectangle  DrawPath。我们都需要一个Pen(边框)来描绘它。

    2.FillXXXX:填充。例如FillRectangle等等。我们需要的是Brush。

     

    我们第二点总结平滑(反锯齿)——什么时候用GdipSetTextRenderingHint,什么时候用GdipSetSmoothingMode。

    这里我很简单的借用前面的结论告诉你:

    1.凡是你要用DrawXXXX或者FillXXXX画出来的,你要让他平滑,你就要用GdipSetSmoothingMode

    2.其它的呢看它的类型,比如文字那么就是GdipSetTextRenderingHint……(言下之意就是还有其它的东西哦)

     

    我们第三点总结Brush和Pen。

    1.Pen是一只笔(- -||)。用于DrawXXXX的。描边。你可以通过一个纯色创建Pen(GdipCreatePen1),也可以通过一个Brush创建Pen:GdipCreatePen2(比如说纹理Pen,渐变Pen等等,不过貌似GDI+有点BUG)

    2.Brush呢是刷子。我们有贴图刷子,预置纹理刷子,纯色刷子,渐变刷子,路径刷子等等。

    (1)贴图刷:我们会在下一章深入探讨

    (2)纯色刷:我们已经用过了,很简单——给一个颜色,传回一个Brush。

    (3)渐变刷:我们也用过了,跟纯刷子差不多,给两个颜色就可以了,还有一个渐变方向~~,当然也是传回一个Brush

    (4)路径刷:这个刷子很高级 可以实现前面的(2)和(3)的刷子以及他们不能实现的内容——我们可以按照路径让他去渐变……还有很多其它功能。这个嘛 以后有空我也会说的 呵呵

     

    我们第四点总结路径。

    路径我们虽然只借用到了文字路径,但是如果你翻一下我提供的API大杂烩会发现 关于Path有很多有趣的东西。例如有添加直线路径,添加圆弧路径,添加曲线路径,路径合并,路径旋转等等……很强大吧。

    路径,我们需要给他一个初始化好的Path,然后按照各种需要给它参数;最后我们要把它画出来。

    以后其它的路径东西我们有空会探讨。

     

    最后再说下之前提过的一点:如果你发现复制了我的代码 结果东西没出来,那么请确保你的窗体的AutoRedraw=True。切记切记 不要忘记:) 





    评论

  • GDI+ 能直接在 printer对象上绘图么??能的话帮忙叫我一下,qq 1014882随时恭候,谢谢!!
  • 大侠,请问gdi+有什么bug呢
    vIstaswx回复孔小侠说:
    已知BUG:
    1.绘制宽度是1的矩形加上某个的时候会返回OutofMomery错误,这是一个BUG
    2.LayeredWindow下貌似竖直透明的渐变有点问题

    其他暂时没有。前些月有一个溢出漏洞,已经修复。

    当然如果你自己使用不当什么错误都会出现。
    2009-09-08 20:29:51
  • 让AutoRedraw=True究竟起个什么作用呢?
    vIstaswx回复ARTERIOSCLEROS说:
    因为我们是在load里面画的;load过程执行时候窗体还没有显示;如果autoredraw关闭,那么我们就会什么都看不见,因为windows没有把它重绘。
    2009-06-20 17:35:22