http://vistaswx.com/blog/article/category/tutorial/page/2
VB6 GDI+ 入门教程[7] Graphics 其他内容
2009 年 9 月 5 日 4条评论
标签: GdiPlus,vb 分类: Tutorial,VB6 GDI+

点击下载 vIstaswx VB6 Gdi+ 模块(最后更新 2011/2/8)

1.其他创建方式

我们之前创建Graphics都是从DC创建的,不过GDI+还有几种创建画布方法,且很重要哦

(1)hWnd(FromHWND)

如名,从句柄创建。本人不怎么用这个。

以下代码从窗体句柄创建Graphics

 
'Dim Graphics As Long
GdipCreateFromHWND Me.hWnd, Graphics

(2)Image/Bitmap(FromImage) [Important]

某些人用.Net发现.Net有神奇的从图片创建(Graphics.FromImage)的办法,这个办法主要用来保存为图片用。那么FromImage的原型是什么呢?其实它的名字很囧:GdipGetImageGraphicsContext。它可以从Image创建Graphics,当然从Bitmap也可以。

以下代码是从img创建Graphics

 
'Dim img As Long, Graphics As Long
'GdipLoadImageFromFile StrPtr("C:1.png"), img
GdipGetImageGraphicsContext Graphics, img

2.清除画布内容

对于有透明通道的绘制,每次绘制都必须擦除前面所画,否则会透明重叠……

办法1是自己FillRectangle一下,不过GDI+已经给我们更加直接的办法了:

以下代码用白色清除Graphics上内容

Private Declare Function GdipGraphicsClear Lib "gdiplus" (ByVal graphics As Long, ByVal lColor As Long) As GpStatus
 
'Dim Graphics As Long
GdipGraphicsClear Graphics, &HFFFFFFFF

3.整体旋转

这个是整体的旋转,就是把画布旋转了……所以说~~如果只有一张图片那么旋转后图片边缘就是锯齿的(因为画布的边缘没有消除锯齿的功能)

以下代码将Graphics旋转20度

 
'Dim Graphics As Long
GdipRotateWorldTransform Graphics, 20, MatrixOrderAppend

4.整体平移

这个也是整体的,整体的平移一个量,是增量,相对量,不是绝对量。

以下代码将Graphics向右,向下平移10px,20px

Private Declare Function GdipTranslateWorldTransform Lib "gdiplus" (ByVal graphics As Long, ByVal dx As Single, ByVal dy As Single, ByVal order As MatrixOrder) As GpStatus
Public Enum MatrixOrder   MatrixOrderPrepend = 0   MatrixOrderAppend = 1End Enum
 
'Dim Graphics As Long
GdipTranslateWorldTransform Graphics, 10, 20, MatrixOrderAppend

5.剪辑(遮掩层)

剪辑区域设置以后,绘制的内容就会仅限于这个区域内;超出的部分将被无视掉。但是原来的内容还在原来地方,不受剪辑区域影响。

以下代码设置一块剪辑区域,X=10 Y=20 Width=100 Height=100 ( (10,20) – (110,120) )

 
'Dim Graphics As Long
GdipSetClipRectI Graphics, 10, 20, 100, 100, CombineModeReplace

设置了当然还有取消——

VB6 GDI+ 入门教程[7] Graphics 其他内容相关推荐

  1. Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...

  2. jQuery 入门教程(5): 显示/隐藏内容

    2019独角兽企业重金招聘Python工程师标准>>> jQuery的hide()和show()可以用来显示和隐藏内容.比如下面的例子:jQuery的hide()和show() 可以 ...

  3. c语言程序设计入门教程视频教学

    c语言教程视频讲座简介: 沉睡者IT:c语言程序设计入门教程视频教学培训课程内容介绍: 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对 ...

  4. UI设计(PS+AI)入门教程【视频+素材】

    最近几天很多粉丝私信问我,有没有UI设计教程可以分享一些UI设计教程吗,于是小编就整理了一整套的UI设计入门教程. 今天免费分享给大家,希望对大家学习UI设计过程中有所帮助 PS.AI是UI设计师必不 ...

  5. 微信小程序入门教程 --(保姆级)

    一.小程序注册 1.首先,到小程序官网注册自己的小程序账号,以下附有地址和教程: 小程序官网 进入这个地址之后,会看到这样的页面,点击立即注册按钮 2.在接下来的页面,选择小程序 3.然后根据提示完成 ...

  6. 2015年最新Android基础入门教程目录(完结版)

    2015年最新Android基础入门教程目录(完结版) 标签(空格分隔): Android基础入门教程 前言: 关于<2015年最新Android基础入门教程目录>终于在今天落下了帷幕,全 ...

  7. storyline发布方法_(完整)ArticulateStoryline入门教程

    1 目录 1.Articulate Storyline 入门教程:中文安装教程 ( 图文 ) ............................................. 2 2.Art ...

  8. storyline发布方法_(完整)Articulate Storyline入门教程

    1 目录 1.Articulate Storyline 入门教程:中文安装教程 ( 图文 ) ............................................. 2 2.Art ...

  9. storyline发布方法_Articulate_Storyline入门教程.pdf

    Articulate_Storyline入门教程 目录 1.Articulate Storyline 入门教程:中文安装教程(图文) 2 2.Articulate Storyline 入门教程:概述及 ...

  10. sklearn快速入门教程:补充内容 -- sklearn模型评价指标汇总(聚类、分类、回归)

    sklearn集成了大多数模型评价指标,这可以很大程度上方便我们的使用,尤其在对进行进行自动调参时可以方便我们进行选择. 做下这个笔记主要是为了补充之前的内容:sklearn快速入门教程:(四)模型自 ...

最新文章

  1. Java7编程 高级进阶学习笔记--嵌套类
  2. 数据结构实验之栈与队列四:括号匹配
  3. wxWidgets学习 (2) -- 事件处理
  4. win驱动下线程操作相关函数封装
  5. Redis-RDB持久化设置
  6. AWS 用户指南笔记
  7. 如何利用Python批量将Word中的信息提取到Excel?
  8. centos 安装mysql_Centos 下mysql数据库完整安装过程
  9. python爬取小说基本信息_Python爬虫零基础实例---爬取小说吧小说内容到本地
  10. 业绩上不去,老板和业务员都有责任,但首先要划分清楚责任
  11. common-io-2.0的新功能之文件监控FileAlteration(文件监听的两种实现方法《很全的监听文件例子》)...
  12. 深度学习之经典卷积神经网络的技术浅析 | 硬创公开课预告
  13. 数字信号处理实验一 T3
  14. SIR模型的应用 - Influence maximization in social networks based on TOPSIS(3)
  15. 自动关机win10_如何设置电脑自动关机
  16. 《文献管理与信息分析》课程笔记
  17. FFmpeg滤镜:制作图片视频流(续2)
  18. Vue之小目标列表实现
  19. mybatis-plus使用${ew.customSqlSegment}自定义查询,用数据库不存在的字段作为条件
  20. 企业要求的J2EE详解

热门文章

  1. Silverlight 2初尝及我的例子:Fanfou.com客户端——EatSilverlight
  2. FTOUR2 - Free tour II
  3. [题解]诸侯安置(dp+组合)
  4. mysql学习一 常用语句
  5. sqli-labs Less-11 and Less-12
  6. 1121 - Reverse the lights 思维题
  7. CDOJ--1012
  8. Android Contacts(二)—— SMS 短信 与 Contacts 联系人关联
  9. Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
  10. Spring中的两种AOP织入方式