网站首页 > 文章中心 > 其它

vb.netgdi函数

作者:小编 更新时间:2023-09-06 20:24:06 浏览量:418人看过

请问在VB中能调用windowsGDI函数么?如何调用啊?

和其他API一样吧,用Declare声明后直接用

在vb.net环境下图像处理,用什么建立3D

Dim BmpData As New BitmapData

Dim PixleValue(Stride * Bmp.Height) As Byte

Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)

BmpData.Scan0 = Hanlde.AddrOfPinnedObject()

vb.net GDI绘图刷新问题

绘图代码写在Paint事件中,如

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

Dim g As Graphics = Me.CreateGraphics

End Sub

'方法二:在 PictureBox1上显示图像----图画在Bitmap

PictureBox1.Image = Nothing

Dim wid As Integer = PictureBox1.ClientSize.Width

Dim hgt As Integer = PictureBox1.ClientSize.Height

Dim bm As New Bitmap(wid, hgt)

Dim g As Graphics = Graphics.FromImage(bm)

'画图代码

PictureBox1.Image = bm

PictureBox1.Refresh()

g.Dispose()

VB.net可以调用API吗?怎么调用?比如我要调用Gditransparentbit函数怎么写代

(1).使用DllImport特征类来申明Windows API函数:

下面是在Visual Basic .Net中使用DllImport特征类申明二个Windows API函数的具体示例:

'函数ExtractIcon,其功能是是从指定文件的指定位置导出图标的Windows句柄.

Public Function _

End Function

'函数Icon_Num,其功能是获得指定文件中的图标数目

Icon_Num ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer

在使用DllImport特征类申明Windows API函数时,如果申明的函数名称和函数的入口点相同,则可以在申明Windows API函数时,省略定义函数入口点对应的代码,即EntryPoint对象字段对应的代码,这样声明ExtractIcon函数的代码也可以简化为如下所示:

使用"Declare"语句的确比使用DllImport特征类要简单了许多,下面是在Visual Basic .Net中使用"Declare"语句来声明上述二个Windows API函数的具体方法:

'声明ExtractIcon函数

'声明Icon_Num函数

在Visual Basic .Net中声明Windows API函数时,"Declare"语句中Alias关键字的作用相当于使用DllImport特征类中的EntryPoint对象字段.同样在使用"Declare"语句声明Windows API函数时,如果声明的函数和函数的入口点相同,也可以省略Alias关键字对应的代码,所以ExtractIcon函数也可以简化为如下:

在vb中怎样作不规则的窗体,GDI函数都有哪些

该窗体是个矩形,但是四个角都是切圆的,实现代码如下:

'首先我们先创建一个窗体,并将窗体的BorderStyle属性设为0

'然后声明API函数,如下:

'我们先来了解一下这几个函数

'CreateRoundRectRgn参数 类型及说明

'X1,Y1 Long,矩形左上角的X,Y坐标

'SetWindowRgn用于将CreateRoundRectRgn创建的圆角区域赋给窗体

'DeleteObject用于将CreateRoundRectRgn创建的区域删除,这是必要的,否则不必要的占用电脑内存

'此时此刻呢声明一个全局变量,用来获得区域句柄,如下:

Dim outrgn As Long

'然后分别在窗体Activate()事件和Unload事件中输入以下代码

Private Sub Form_Activate()

Private Sub Form_Unload(Cancel As Integer)

DeleteObject outrgn '将圆角区域使用的所有系统资源释放

'此时此刻呢我们开始编写子过程

Private Sub rgnform(ByVal frmbox As Form, ByVal fw As Long, ByVal fh As Long)

Dim w As Long, h As Long

w = frmbox.ScaleX(frmbox.Width, vbTwips, vbPixels)

h = frmbox.ScaleY(frmbox.Height, vbTwips, vbPixels)

outrgn = CreateRoundRectRgn(0, 0, w, h, fw, fh)

Call SetWindowRgn(frmbox.hWnd, outrgn, True)

'所以通过改变参数fw和fh的值就可以实现圆角窗体了.

以上就是土嘎嘎小编为大家整理的vb.netgdi函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章