將pic1 置于另一個pic2內(nèi) 滾動條控件控制pic1的left top 就可以達(dá)到你的目的
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作與策劃設(shè)計(jì),會澤網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:會澤等地區(qū)。會澤做網(wǎng)站價格咨詢:18982081108
這問題有點(diǎn)籠統(tǒng),軟糖來說說把:
圖像處理由System.Drawing命名空間負(fù)責(zé)。
主要是Bitmap類和Graphics類。
Bitmap表示一個位圖,可以是BMP,JPG,PNG等文件。
裝載位圖
Dim?位圖?As?Bitmap?=?Bitmap.FromFile("C:\Image1.PNG")
Graphics表示一張畫紙,能夠進(jìn)行繪制操作。
它可以被窗體、控件、位圖調(diào)用CreateGraphics()方法來創(chuàng)建。
然后調(diào)用Graphics.Draw開頭的一系列函數(shù)來繪制圖像和圖形,F(xiàn)ill開頭的填充圖形。
創(chuàng)建畫紙并繪制位圖
Dim?畫紙?As?Graphics?=?Me.CreateGraphics()
畫紙.DrawImage(位圖,?100,?100,?256,?256)
可以將上面三行放到Form1_Load中測試,把路徑改一下,
還可以把Me改為能在上面繪圖的控件的名稱。
更多內(nèi)容請看MSDN的System.Drawing命名空間。
如滿意,請采納,謝謝。
獲取方法,參考實(shí)例如下:
'獲取路徑名各部分: 如: c:\dir1001\aaa.txt
'獲取路徑路徑 c:\dir1001\
Public Function GetFileName(FilePathFileName As String) As String '獲取文件名 aaa.txt
On Error Resume Next
Dim i As Integer, J As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, "\")
GetFileName Mid(FilePathFileName, J + 1, i)
End Function
''獲取路徑路徑 c:\dir1001\
Public Function GetFilePath(FilePathFileName As String) As String '獲取路徑路徑 c:\dir1001\
On Error Resume Next
Dim J As Integer
J InStrRev(FilePathFileName, "\")
GetFilePath Mid(FilePathFileName, 1, J)
End Function
'獲取文件名但不包括擴(kuò)展名 aaa
Public Function GetFileNameNoExt(FilePathFileName As String) As String '獲取文件名但不包括擴(kuò)展名 aaa
On Error Resume Next
Dim i As Integer, J As Integer, k As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, "\")
k InStrRev(FilePathFileName, ".")
If k 0 Then
GetFileNameNoExt Mid(FilePathFileName, J + 1, i - J)
Else
GetFileNameNoExt Mid(FilePathFileName, J + 1, k - J - 1)
End If
End Function
'===== '獲取擴(kuò)展名 .txt
Public Function GetFileExtName(FilePathFileName As String) As String '獲取擴(kuò)展名 .txt
On Error Resume Next
Dim i As Integer, J As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, ".")
If J 0 Then
GetFileExtName ".txt"
Else
GetFileExtName Mid(FilePathFileName, J, i)
End If
End Function
在VB 學(xué)習(xí)中,絕對路徑就是指帶有盤符的固定的路徑,比如“c:\windows\systems\a.exe” 而相對路徑則可用APP.PATH連接文件名來表示,比如:App.Path "\a.exe"
以vb學(xué)習(xí)中加載圖片為例,這樣就容易弄明白了。假設(shè)我們要在vb中加載一幅圖片,假設(shè)我們把這個加載圖片的程序保存在如下位置:"E:\aa-vbnew\加載圖片講解"而我們的圖片在"D:\My Files\圖畫\tong.jpg"
那么情況如下:1,在代碼中直接以絕對路徑表示加載到form1中,如圖所示:
顯示結(jié)果如下:
2,換一種方式,以相對路徑直接加載也可以。程序如圖:
結(jié)果如上圖。
下面分析如下:
第一種方式,我們使用的是圖片的完整路徑,就稱之為絕對路徑,也就是說不管我們的這個VB程序放到硬盤的任何位置,都完全可以顯示出來這幅圖片,因?yàn)閳D片的路徑是絕對的,只要不改變圖片的路徑,那么就是絕對不變的。
第二種方式,我們使用的是圖片的相對路徑,相對于誰呢?是相對于我們的VB這個應(yīng)用程序和這幅圖片自身位置的。一旦我們的程序位置發(fā)生變化或者圖片的位置發(fā)生改變,那么這個程序都不可以執(zhí)行,不會顯示這幅圖片。所以說這就是相對路徑,是以一個參考對象而存在的。
項(xiàng)目中要用圖形來顯示一個閥門的開度,以及控制閥的開度。本來是要用什么公司買的控件中的餅圖之類的實(shí)現(xiàn),不過我覺得也是麻煩,就想,還是自己畫吧。
首先添加一個TrackBar,名字是“TrackBar1”,一個label,名字是“L_A_SHANG”,一個GroupBox,名字是“GB_RIGHT”,,然后添加拉動滾動條時的處理函數(shù)
'上位機(jī)控制
Dim m_start As Integer
Dim RcDraw As System.Drawing.Rectangle
Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
m_start = (100 - TrackBar1.Value)
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString
GB_RIGHT.Invalidate() '重畫GB_RIGHT
End Sub
添加GB_RIGHT重畫時的處理函數(shù)
Private Sub GB_RIGHT_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GB_RIGHT.Paint
RcDraw.X = TrackBar1.Location.X - 40
RcDraw.Y = 20
RcDraw.Height = 100
RcDraw.Width = 20
e.Graphics.DrawRectangle(New Pen(Color.Blue, 5), RcDraw)
Dim i = TrackBar1.Location.X - 40
For i = TrackBar1.Location.X - 40 To TrackBar1.Location.X - 20
e.Graphics.DrawLine(New Pen(Color.Blue, 5), i, m_start + 20, i, 120)
Next
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString + "%"
End Sub
到此以及可以實(shí)現(xiàn)拉動條的時候,圖像跟著變化,并顯示百分比。
將PictureBox控件里的圖片,保存為文件:
1,文件格式不變化:
PictureBox1.Image.Save("C:\" Format(Now, "HH-mm-ss") ".bmp")
2,文件格式有變化:
PictureBox1.Image.Save("C:\" Format(Now, "HH-mm-ss") ".bmp", System.Drawing.Imaging.ImageFormat.Bmp)