vb.net图片处理类 vbnet图像处理

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

首先,还是谈谈图像像素时数据获取方面吧,.net中的图像相关类基本上都是基于GDI+的,因此,图像数据的获取其实也是调用GDI+的一些函数。这个函数就是LockBits,在vb.net中彩色图像数据的快速获取 一文中,我们是调用了Marshal.Copy把LockBits锁定的内存数据拷贝到数据中,然后对数组中的值进行处理。这样做主要的原因是VB.NET不好直接访问内存(Marshal.ReadByte之类的函数不适合用于大型的循环中)。那么,这就造成了2个不好的事情,第一:在同一时间需要2倍于图像数据量的内存,第二:内存数据拷贝到数据,以及处理后再把数组的数据拷贝会内存中都是会减低速度的。作为一种改进,我们应该充分利用LockBits的功能。LockBits中的LockMode中有一种模式为ImageLockMode.UserInputBuffer,该模式下需要用户先申请内存,然后在把图像数据按照相关格式填充如这个内存中。这样,就可以先定义个数组,然后把图像数据填充到这个数组中,就避免了来回拷贝的耗时了,简单示例代码如下:

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比高坪网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式高坪网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖高坪地区。费用合理售后完善,十载实体公司更值得信赖。

Dim BmpData As New BitmapData

Stride = ((Bmp.Width * 3 + 3) And HFFFFFFFC)

Dim PixleValue(Stride * Bmp.Height) As Byte

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

BmpData.Scan0 = Hanlde.AddrOfPinnedObject()

在VB.net中如何将图片转换成二进制保存到Accees中

在access数据库里将字段的类型设置为ole对象

Public img As Byte() '图片处理用的字节数组

img=My.Computer.FileSystem.ReadAllBytes(filePath)'filePath是你图片文件的路径

剩下的就是数据库插入操作了

Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb")

Dim comm As OleDb.OleDbCommand

comm = New OleDb.OleDbCommand( _

"INSERT INTO Photo(BuFan_F,PhotoNo,Photo) Values('"  Me.CobBuFan.Text.Trim  "','"  Me.txtNo.Text.Trim  "',@image)", cn)

'向数据库添加存储了图片数据的二进制数组

comm.Parameters.Add("@image", _

OleDb.OleDbType.Binary, img.Length).Value = img

If cn.State = ConnectionState.Closed Then cn.Open() '打开数据库连接

comm.ExecuteNonQuery() '执行数据库命令

If cn.State = ConnectionState.Open Then cn.Close() '关闭数据库连接

MessageBox.Show("图片成功保存到数据库", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information)

vb.net(2008)把图片(或其它类型文件)转换成字符串存入.txt文件中,并从.txt中读出生成图片

这个做法应该是图方便的加密解密做法。按你的C#代码来改的话是这样的。

'Imports System.IO

Public Function MapPath(ByVal virtualPath As String) As String

' Return System.Web.Hosting.MapPath(virtualPath)

' 猜想是这个 MapPath 函数

' 如果不是那就自己还原原来C#代码里的那个MapPath

End Function

Public Sub GetImage()

Dim s As System.IO.Stream = System.IO.File.Open(MapPath("33.jpg"), System.IO.FileMode.Open)

Dim leng As Integer = 0

If s.Length Int32.MaxValue Then

leng = s.Length

End If

Dim by(leng) As Byte

s.Read(by, 0, leng) ' 把图片读到字节数组中

s.Close()

Dim str As String = Convert.ToBase64String(by) ' 把字节数组转换成字符串

Dim sw As System.IO.StreamWriter = System.IO.File.CreateText(MapPath("11.txt")) ' 存入11.txt文件

sw.Write(str)

sw.Close()

sw.Dispose()

End Sub

' 把字符串还原成图片

Public Sub CreateImg()

Dim sr As New System.IO.StreamReader(MapPath("11.txt"))

Dim s As String = sr.ReadToEnd()

sr.Close()

Dim buf As Byte() = Convert.FromBase64String(s) ' 把字符串读到字节数组中

Dim ms As New System.IO.MemoryStream(buf)

Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(ms)

img.Save(MapPath("12.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg)

ms.Close()

ms.Dispose()

End Sub

vb.net 自己编写的一个图片处理软件 如何实现对处理后的图片的保存功能拜托了各位 谢谢

先用一个临时文件名保存,关闭原来的文件,删除它,然后把那个临时文件改名。Windows很多软件都是这么做的。

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 2008图片框处理图片时,图片框无法显示图片,打红叉叉,如何解决?

贴代码啊,贴上加载两个图片框的代码,有代码才知道你加载图片时错在那里.下回提问要详细周全,碰到了就回一下,但问题资料提供不全面会浪费时间也会浪费一个别人回答的机会,因为等你再提供更多资料时能回答的人就不一定在线了.下回再看到你这问题不知道等到什么时候了...


新闻名称:vb.net图片处理类 vbnet图像处理
本文链接:http://azwzsj.com/article/hieeoj.html