vb.net 怎么來回切換圖片?1、添加控件Picturebox1和控件Timer1,將Timer1的Interval屬性改為1000(即1秒),Enabled屬性改為True
創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的10余年時(shí)間我們累計(jì)服務(wù)了上千家以及全國政企客戶,如汽車玻璃修復(fù)等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致贊賞。
2、假設(shè)你要循環(huán)切換4張圖片,你可以添加如下代碼即可實(shí)現(xiàn):
Dim a As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If a = 4 Then
a = 0
Else
a = a + 1
End If
If a = 0 Then Me.PictureBox1.Image = Image.FromFile("1.jpg")
If a = 1 Then Me.PictureBox1.Image = Image.FromFile("2.jpg")
If a = 2 Then Me.PictureBox1.Image = Image.FromFile("3.jpg")
If a = 3 Then Me.PictureBox1.Image = Image.FromFile("4.jpg")
End Sub
VB.NT用的是觸發(fā)事件,一按就會(huì)觸發(fā),要不你加個(gè)timer控件,延遲一秒
標(biāo)題的問題:你先把圖片保存,再加載
INTOUCH自帶的就有,打印屏幕的命令
自己寫個(gè)時(shí)間條件運(yùn)行那命令就可以了
PRINTSCREEN這個(gè)命令 具體怎么用 看下幫助
希望我的回答對(duì)你有所幫助
如有其他問題,可以繼續(xù)追問,您的采納是我前進(jìn)的動(dòng)力!
Me.Refresh()
Dim?memory?As?Image?=?New?Bitmap(Me.Width,?Me.Height)
Dim?g?As?Graphics?=?Graphics.FromImage(memory)
g.CopyFromScreen(Me.Left,?Me.Top,?0,?0,?New?Size(Me.Width,?Me.Height))?'這里是截屏核心代碼
Dim?FilePath?As?String?=?""
Dim?d?As?New?SaveFileDialog
d.Filter?=?"JPEG圖像|*.JPEG"
If?d.ShowDialog?=?Windows.Forms.DialogResult.OK?Then
FilePath?=?d.FileName
If?FilePath?=?""?Then?Exit?Sub
'If?FilePath.Substring(FilePath.Length?-?1,?1)??"\"?Then?FilePath?=?FilePath??"\"
Else
Exit?Sub
End?If
d.Dispose()
memory.Save(FilePath)
MessageBox.Show("圖像已經(jīng)保存到:?"??FilePath,?"截圖成功",?MessageBoxButtons.OK,?MessageBoxIcon.Information)
'模塊中
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) _
As Long
Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare Function BitBlt Lib "gdi32" _
(ByVal hDestDC As Long, ByVal x As Long, _
ByVal y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal hSrcDC As Long, _
ByVal xSrc As Long, ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
'form1中
Private Sub Command1_Click()
Dim hDCtmp As Long, picWidth As Double, picHeight As Double
Dim x As Double
Dim y As Double
x = Val(Text2.Text)
y = Val(Text3.Text)
picWidth = Val(Text3.Text)
picHeight = Val(Text4.Text)
hDCtmp = GetDC(0)
BitBlt Picture1.hdc, 0, 0, picWidth, picHeight, hDCtmp, x, y, vbSrcCopy
ReleaseDC 0, hDCtmp
End Sub
目的: 將屏幕按照指定坐標(biāo)和大小進(jìn)行截取成圖,在picture1顯示
問題: 大小是相同了,為什么截取的坐標(biāo)不對(duì),只是屏幕上的左上
相信大家都用過QQ截圖功能。不過很多人并沒有真正掌握好它的用法。將QQ截圖與其它截屏和制圖軟件配合使用,會(huì)有意想不到的效果。
獲取顏色的RGB值
我們?cè)诰庉媹D片或網(wǎng)頁的時(shí)候,經(jīng)常需要獲取某種顏色的“RGB值”,所以很多人都安裝了第三方的顏色吸取工具。其時(shí)用QQ截圖鍵即可獲取屏幕上任意顏色的RGB值。
當(dāng)按下“Ctrl+Shift+A”彈出“截圖”提示框時(shí),提示框中的“當(dāng)前像素RGB”即為當(dāng)前鼠標(biāo)屏幕位置的顏色RGB值,將鼠標(biāo)移動(dòng)到你想查看的屏幕顏色上即可獲得相應(yīng)的RGB值(如圖1)。
圖1精確截取圖片大小
有時(shí)我們對(duì)要使用的截圖尺寸有嚴(yán)格要求,比如論壇簽名或QQ頭像等。用QQ截圖鍵可以按尺寸精確截取,一步到位無需再進(jìn)行后期裁剪了。
按下QQ截圖鍵,按住鼠標(biāo)不放選取截取范圍時(shí),在鼠標(biāo)上方會(huì)有一個(gè)信息框顯示當(dāng)前范圍的詳細(xì)信息,其中“矩形大小”就是以像素來表示的圖片的尺寸大小,括號(hào)內(nèi)的數(shù)字分別表示的是長(zhǎng)和高(如圖2)。松開鼠標(biāo)調(diào)整截圖框時(shí),對(duì)照“矩形大小”就可以按需要的尺寸來精確截圖范圍,然后用鼠標(biāo)點(diǎn)住截圖框?qū)⒔貓D框拖到要截取的圖片上,雙擊即可獲得所需尺寸的圖片了。
圖2圖片拼貼好幫手
大部分的截圖軟件一次只能截取一張圖片,當(dāng)要截取多張圖片并進(jìn)行拼貼組合時(shí),就需要一張一張截取全部保存后再進(jìn)行拼貼操作,非常麻煩。
我們知道用QQ截圖鍵截取的圖片可以在任一個(gè)可以粘貼圖片的程序中使用,這樣只需用截圖軟件進(jìn)行一次截圖操作,剩下的圖片用QQ截圖鍵來截取,然后依次粘貼到截圖軟件的窗口中即可快速進(jìn)行拼貼操作了,是不是很方便啊。
小提示:QQ截圖鍵無需打開聊天窗口即可使用,截取的圖片在任一可粘貼圖片的程序窗口中如畫圖、Word等,使用“粘貼”命令即可使用
'沒辦法,需的把窗口隱藏一下,還的隱藏后延遲一下再截圖。
Dim?WithEvents?Timer1?As?New?Timer?With?{.Interval?=?30,?.Enabled?=?False}
Dim?Imgrect?As?Rectangle
Dim?img?As?Bitmap
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Imgrect?=?Me.RectangleToScreen(Me.ClientRectangle)
img?=?New?Bitmap(Imgrect.Width,?Imgrect.Height)
Me.Hide()
Timer1.Start()
End?Sub
Private?Sub?Timer1_Tick(ByVal?sender?As?Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
Timer1.Stop()
Graphics.FromImage(img).CopyFromScreen(Imgrect.X,?Imgrect.Y,?0,?0,?Imgrect.Size)
Me.BackgroundImage?=?img
Me.Show()
End?Sub