vb.net显示图形的简单介绍

Vb.net怎么实现图像的处理这问题有点笼统,软糖来说说把:
图像处理由System.Drawing命名空间负责 。
主要是Bitmap类和Graphics类 。
Bitmap表示一个位图,可以是BMP,JPG,PNG等文件 。
装载位图
Dim 位图 As Bitmap = Bitmap.FromFile("C:\Image1.PNG")
Graphics表示一张画纸 , 能够进行绘制操作 。
它可以被窗体、控件、位图调用CreateGraphics()方法来创建 。
然后调用Graphics.Draw开头的一系列函数来绘制图像和图形 , Fill开头的填充图形 。
创建画纸并绘制位图
Dim 画纸 As Graphics = Me.CreateGraphics()
画纸.DrawImage(位图, 100, 100, 256, 256)
可以将上面三行放到Form1_Load中测试,把路径改一下,
还可以把Me改为能在上面绘图的控件的名称 。
更多内容请看MSDN的System.Drawing命名空间 。
如满意,请采纳,谢谢 。
vb.net当鼠标移入pictureBox时,单独显示一个放大的图片?缩放操作
Function 缩放(ByVal bitmap As Bitmap, ByVal 倍数 As Single) As Bitmap
Dim w As Integer = bitmap.Width * 倍数
Dim h As Integer = bitmap.Height * 倍数
Dim tem As New Bitmap(w, h)
Dim g As Graphics = Graphics.FromImage(tem)
g.DrawImage(bitmap, New Rectangle(0, 0, w, h), New Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel)
g.Dispose()
Return tem
End Function
鼠标滚轮事件MouseWheel
MouseEventArgs.Delta 值可以判断滚动方向
VB.NET中如何使两个PictureBox显示指定相对应的图片?用一个全局变量保存这个1.jpg,如变量a,你按按钮2时,可以简单的在a中插入一个"A",如a.SubString(0, a.Length-4)"A"a.SubString(a.Length-4),这样就能把例如"C:/Images/1.jpg"变成"C:/Images/1A.jpg"
VB.net可以开发小型3D图形显示软件吗?可以借助DirectX来编程 。免费3D引擎可不好找,一般来说速度比不上硬件加速后的DX,尤其令人头疼的是一般都没有针对VB的文档 , LZ有这方面理想的话,自己写一个吧……
我不得不承认在VB上写DirectX的教程相当难找!如果LZ想深入研究三维图形问题 , C++一定要学,就算不能用C++编程,起码要能把C++程序翻译成VB程序 。
我自己学会DX编程花了两三个月(很浅) 。编这样一个程序难度是有点大的 。
工具:DirectX9和其针对VB的库(项目-添加引用 。.NET库里DX库一般都有),VB不知道现在支不支持DX10以上的版本,不过9绝对够用了 。
思路:一切3D图形都是由三角形拼成的 。矩形挖掉一个圆孔可不是一个方便画的图形,我估计至少得有24个三角形 。你需要记录这些点的坐标,或者干脆把它们写在文件里,到时读出来 。
这是我的一个老DX程序的不完全的代码(显示一个黑乎乎的平面),不一定能编译,可以参考一下 。
Imports Microsoft.DirectX '一定要~
Public Class FormMain
'Direct3D Startup
Dim d3dpp As New Direct3D.PresentParameters 'DX基本参数,例如全屏还是窗口等
Public MyDevice As Direct3D.Device ‘DX基本设备,画图就靠它 。
'Matrices
Dim matWorld, matView, matProj As Matrix '世界位置矩阵,摄像机位置矩阵和透视矩阵,数学要学好啊 。
'mesh
【vb.net显示图形的简单介绍】Public MyPlane as Direct3D.Mesh ’我们的物体
Public VBPlane(3) As Direct3D.CustomVertex.PositionNormalTextured '存放顶点位置的数组
#Region "DX Core"
Public Sub InitDeviceObjects()
With d3dpp ‘以下请照抄 。
.Windowed = True ‘不全屏 。
.SwapEffect = Direct3D.SwapEffect.Discard ’双缓冲交换效果 。请百度“双缓冲”
.BackBufferFormat = Direct3D.Format.Unknown
.EnableAutoDepthStencil = True ’让DX自动管理深度缓冲

推荐阅读