
正文
vb.net下载图片 vb保存图片
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net的图片空间怎样获得相对路径下的图片
在VB 学习中vb.net下载图片,绝对路径就是指带有盘符vb.net下载图片的固定vb.net下载图片的路径,比如“c:\windows\systems\a.exe” 而相对路径则可用APP.PATH连接文件名来表示,比如:App.Path "\a.exe"
以vb学习中加载图片为例,这样就容易弄明白了。假设我们要在vb中加载一幅图片,假设我们把这个加载图片的程序保存在如下位置:"E:\aa-vbnew\加载图片讲解"而我们的图片在"D:\My Files\图画\tong.jpg"
那么情况如下:1,在代码中直接以绝对路径表示加载到form1中,如图所示:
显示结果如下:
2,换一种方式,以相对路径直接加载也可以。程序如图:
结果如上图。
下面分析如下:
第一种方式,我们使用的是图片的完整路径,就称之为绝对路径,也就是说不管我们的这个VB程序放到硬盘的任何位置,都完全可以显示出来这幅图片,因为图片的路径是绝对的,只要不改变图片的路径,那么就是绝对不变的。
第二种方式,我们使用的是图片的相对路径,相对于谁呢?是相对于我们的VB这个应用程序和这幅图片自身位置的。一旦我们的程序位置发生变化或者图片的位置发生改变,那么这个程序都不可以执行,不会显示这幅图片。所以说这就是相对路径,是以一个参考对象而存在的。
相关问答
Q1: vb.net如何读取oracle数据库中的图片
Public Sub Combo1_Click()
Dim adoCnn As ADODB.Connection
Dim rstOra As ADODB.Recordset
Dim intI As Integer
Set adoCnn = New ADODB.Connection
Set rstOra = New ADODB.Recordset
adoCnn.ConnectionString = "Provider=OraOLEDB.Oracle;User ID=dzjc;password=zlkj;Data Source=dzjc_2005;" '读blob字段要用Provider=OraOLEDB.Oracle
adoCnn.CursorLocation = adUseClient
adoCnn.Open
rstOra.CursorLocation = adUseClient
rstOra.ActiveConnection = adoCnn
rstOra.Open "SELECT zp FROM dzjc.dzjc_wfzp WHERE xh = '5'"
'Set Image1.DataSource = rstOra
Set Image1.Picture = PictureFromByteStream(rstOra.Fields("zp").Value)
End Sub
Q2: 怎么用VB.NET读取图片中的数据到CSV文件中
图片数据其实就是一组二进制数据。你要存到csv中应该是字符串格式。很少见这样的存储方式。你可以把数据存储在数据库中的呀。存取图片就很好搞了
Q3: vb.net中,如何像下图一样,用很简单的办法,导入1000张图片。
很简单的方法,貌似没有。这个需要自己写很多代码:
用一个ListView控件。
判断滚动条当前所显示的图片集合,获取它们的物理路径。
用Bitmap.FromImage方法把这些图片读出来,
然后获取缩略图,
把缩略图用Graphics.DrawImage()绘制出来。
我可以提供Bitmap如何获取缩略图的方法:
''' summary必须创建一个委托并将对此委托的引用作为获取缩略图 callback 参数传递,但不使用此委托。/summary
Public Function ThumbnailCallback() As Boolean
Return False
End Function
''' summary返回Image,表示图像指定 宽 和 高 的缩略图。/summary
Public Function 获取缩略图(位图 As Bitmap, 宽 As Integer, 高 As Integer) As Image
Dim myCallback As New Image.GetThumbnailImageAbort(ThumbnailCallback)
Return 位图.GetThumbnailImage(宽, 高, myCallback, IntPtr.Zero)
End Function
Q4: 如何在VB中保存图片
VB6.0可使用SavePicture 语句来保存窗体或图像框中经修改vb.net下载图片的图片。
1)SavePicture 语句vb.net下载图片,从对象或控件(如果有一个与其相关)的 Picture 或 Image 属性中将图形保存到文件中。
说明:无论在设计时还是运行时图形从文件加载到对象的 Picture
属性vb.net下载图片,而且它是位图、图标、元文件或增强元文件vb.net下载图片,则图形将以原始文件同样的格式保存。如果它是 GIF 或 JPEG 文件,则将保存为位图文件。
2)AutoRedraw 属性,返回或设置从图形方法到持久图形的输出。
该属性为True,可使 Form 对象或 PictureBox
控件的自动重绘有效。图形和文本输出到屏幕,并存储在内存的图象中。该对象不接受绘制事件,必要时,用存储在内存中的图象进行重绘。
以下代码保存窗体装载并进行文字修饰的图片:
Option Explicit
Private Sub Command1_Click()
SavePicture Image, App.Path "\TEST" ' 将图片保存到文件。
End Sub
Private Sub Form_Click()
FontSize = 24
Print " 将图片保存到文件"
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
End Sub
3)若要保存为JPG图片需要采取使用API函数实现。参考以下步骤和代码:
a.在图片框加载需要添加文字水印的图片。
b.使用如下代码实现添加文字到图片框。
Private Sub CmdEdit_Click() '修改
Dim strTxt As String
strTxt = "风雨无阻 拍摄"
Picture1.FontSize = 18
Picture1.CurrentY = Picture1.ScaleHeight - 30
Picture1.CurrentX = Picture1.ScaleWidth / 2 - Picture1.TextWidth(strTxt) / 2
Picture1.ForeColor = vbWhite
Picture1.FontItalic = True
Picture1.Print strTxt
End Sub
c.将以下API转换图片格式代码放置于标准模块,模块命名为saveApg。
Option Explicit
Public Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Public Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type
Public Type EncoderParameter
GUID As GUID
NumberOfValues As Long
type As Long
Value As Long
End Type
Public Type EncoderParameters
Count As Long
Parameter As EncoderParameter
End Type
Public Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, ByVal outputbuf As Long) As Long
Public Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long
Public Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hpal As Long, Bitmap As Long) As Long
Public Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long
Public Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal fileName As Long, clsidEncoder As GUID, encoderParams As Any) As Long
Public Declare Function CLSIDFromString Lib "ole32" (ByVal str As Long, id As GUID) As Long
Public Declare Function GdipCreateBitmapFromFile Lib "GDIPlus" (ByVal fileName As Long, Bitmap As Long) As Long
Public Function PictureBoxSaveJPG(ByVal pict As StdPicture, ByVal fileName As String, Optional ByVal quality As Byte = 80) As Boolean
Dim tSI As GdiplusStartupInput
Dim lRes As Long
Dim lGDIP As Long
Dim lBitmap As Long
'初始化 GDI+
tSI.GdiplusVersion = 1
lRes = GdiplusStartup(lGDIP, tSI, 0)
If lRes = 0 Then
'从句柄创建 GDI+ 图像
lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)
If lRes = 0 Then
Dim tJpgEncoder As GUID
Dim tParams As EncoderParameters
'初始化解码器的GUID标识
CLSIDFromString StrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder
'设置解码器参数
tParams.Count = 1
With tParams.Parameter ' Quality
'得到Quality参数的GUID标识
CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"), .GUID
.NumberOfValues = 1
.type = 4
.Value = VarPtr(quality)
End With
'保存图像
lRes = GdipSaveImageToFile(lBitmap, StrPtr(fileName), tJpgEncoder, tParams)
'销毁GDI+图像
GdipDisposeImage lBitmap
End If
'销毁 GDI+
GdiplusShutdown lGDIP
End If
If lRes Then
PictureBoxSaveJPG = False
Else
PictureBoxSaveJPG = True
End If
End Function
d.使用以下代码实现将加好文字水印图片保存为jpg格式图片。
Private Sub Command3_Click() '保存为.jpg图片
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "JPEG Files" "(*.jpg)|*.jpg"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowSave
' 显示选定文件的名字
'MsgBox CommonDialog1.fileName
Set Picture2.Picture = Picture1.Image '转移Picture1所绘图为Picture2.Picture赋值
Dim ret As Boolean
ret = PictureBoxSaveJPG(Picture2, CommonDialog1.fileName) '保存压缩后的图片
If ret = False Then
MsgBox "保存失败"
End If
Exit Sub
ErrHandler:
' 用户按vb.net下载图片了“取消”按钮
Exit Sub
End Sub
Q5: VB.net如何调用资源文件(resx)里的图片?
放在解决方案资源管理器还没完。进入项目属性,资源,把解决方案资源管理器里的资源文件拖进来,改个便于调用的名称,然后My.Resources里面就可以调用了。如果是VS可以识别的,那么就直接是Bitmap类型的,可以隐式转换成Image类型。
vb.net下载图片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb保存图片、vb.net下载图片的信息别忘了在本站进行查找喔。








