Onko mahdollista, etta tekisi sellaisen ohjelman vb.Net:illä, joka painaisi 30 kertaa sekunnissa prt sc nappulaa ja tallentaisi sen johonki *.avi taikka johonkin vastaavaan standardiin? Ja vielä piatisi saada sellainen ominaisuus, että voisi rajata sen tiettyyn alueeseen.
Eikai ihan noin hankalaa klikkailua tarvitse tehdä. Tutustu seuraavaan artikkeliin.
http://www.codeproject.com/vb/net/
Ainakaan vb:n omalla SendKeys-funkkarilla ei voi virtuaalipainaa PrintScreeniä, mikä on estetty varmaan vakoiluohjelmien teon vaikeuttamiseksi, se sanotaan jo vb:n manuskassakin. (Yritin itse kerran tehdä sellaista koulun koneilla mutta ei onnistu). Lue tosiaan em. artikkeli.
Tuo toimii suhteellisen hyvin, mutta olisi viel pari kysymystä miten saisi tuon laadun paranemaan ja miten saisi tehtya sellainen boxi, joka nayttaisi sen kohdan siis mista se ottaa sen kuvan? Siis sellainen kuin joissain mspaintissa tai vastaavassa.
Alla olevasta luokasta löytyy kuvaus asetuksiin liittyvää.
http://msdn.microsoft.com/library/default.asp?
Oon tallanen nobo ja en muista kesän jälkeen mihin syntax tulee. :D
tai varmaan on jo olemassasellainen ilmaien ohjelma jossa pystyy rajaamaan kunvan tiettyyn alueeseen ja se tallentaa siita videota mutta kun en löydä sitä. :(
thekoodaaja kirjoitti:
tai varmaan on jo olemassasellainen ilmaien ohjelma jossa pystyy rajaamaan kunvan tiettyyn alueeseen
http://www.hyperionics.com/hc/downloads.asp
Tuolta saa HyperCamin vanhan version - ilmainen
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents kohde As System.Windows.Forms.SaveFileDialog
Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
Friend WithEvents kohde_lbl As System.Windows.Forms.TextBox
Friend WithEvents LinkLabel2 As System.Windows.Forms.LinkLabel
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents LinkLabel3 As System.Windows.Forms.LinkLabel
Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
Friend WithEvents leveys As System.Windows.Forms.TextBox
Friend WithEvents korkeus As System.Windows.Forms.TextBox
Friend WithEvents LinkLabel4 As System.Windows.Forms.LinkLabel
Friend WithEvents jou As System.Windows.Forms.ContextMenu
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
Friend WithEvents fourcc As System.Windows.Forms.TextBox
Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem8 As System.Windows.Forms.MenuItem
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
Friend WithEvents nappi_alku As System.Windows.Forms.Button
Friend WithEvents nappi_loppu As System.Windows.Forms.Button
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents fps As System.Windows.Forms.TextBox
Friend WithEvents LinkLabel5 As System.Windows.Forms.LinkLabel
Friend WithEvents LinkLabel6 As System.Windows.Forms.LinkLabel
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents korkeus2 As System.Windows.Forms.TextBox
Friend WithEvents leveys2 As System.Windows.Forms.TextBox
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents tila As System.Windows.Forms.StatusBar
Friend WithEvents paivita As System.Windows.Forms.Timer
Friend WithEvents nauh As System.Windows.Forms.StatusBarPanel
Friend WithEvents tfps As System.Windows.Forms.StatusBarPanel
Friend WithEvents aika As System.Windows.Forms.StatusBarPanel
Friend WithEvents buffer As System.Windows.Forms.StatusBarPanel
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.kohde = New System.Windows.Forms.SaveFileDialog
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel
Me.kohde_lbl = New System.Windows.Forms.TextBox
Me.LinkLabel2 = New System.Windows.Forms.LinkLabel
Me.leveys = New System.Windows.Forms.TextBox
Me.korkeus = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.LinkLabel3 = New System.Windows.Forms.LinkLabel
Me.CheckBox1 = New System.Windows.Forms.CheckBox
Me.LinkLabel4 = New System.Windows.Forms.LinkLabel
Me.fourcc = New System.Windows.Forms.TextBox
Me.jou = New System.Windows.Forms.ContextMenu
Me.MenuItem1 = New System.Windows.Forms.MenuItem
Me.MenuItem2 = New System.Windows.Forms.MenuItem
Me.MenuItem3 = New System.Windows.Forms.MenuItem
Me.MenuItem4 = New System.Windows.Forms.MenuItem
Me.MenuItem5 = New System.Windows.Forms.MenuItem
Me.MenuItem6 = New System.Windows.Forms.MenuItem
Me.MenuItem7 = New System.Windows.Forms.MenuItem
Me.MenuItem8 = New System.Windows.Forms.MenuItem
Me.GroupBox1 = New System.Windows.Forms.GroupBox
Me.Button3 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Button1 = New System.Windows.Forms.Button
Me.GroupBox2 = New System.Windows.Forms.GroupBox
Me.nappi_alku = New System.Windows.Forms.Button
Me.nappi_loppu = New System.Windows.Forms.Button
Me.Label5 = New System.Windows.Forms.Label
Me.fps = New System.Windows.Forms.TextBox
Me.LinkLabel5 = New System.Windows.Forms.LinkLabel
Me.LinkLabel6 = New System.Windows.Forms.LinkLabel
Me.Label2 = New System.Windows.Forms.Label
Me.korkeus2 = New System.Windows.Forms.TextBox
Me.leveys2 = New System.Windows.Forms.TextBox
Me.Label3 = New System.Windows.Forms.Label
Me.tila = New System.Windows.Forms.StatusBar
Me.nauh = New System.Windows.Forms.StatusBarPanel
Me.tfps = New System.Windows.Forms.StatusBarPanel
Me.aika = New System.Windows.Forms.StatusBarPanel
Me.buffer = New System.Windows.Forms.StatusBarPanel
Me.paivita = New System.Windows.Forms.Timer(Me.components)
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
CType(Me.nauh, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.tfps, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.aika, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.buffer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'kohde
'
Me.kohde.Filter = "Video|*.avi"
'
'LinkLabel1
'
Me.LinkLabel1.Location = New System.Drawing.Point(8, 8)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(56, 16)
Me.LinkLabel1.TabIndex = 0
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "Kohde:"
'
'kohde_lbl
'
Me.kohde_lbl.BackColor = System.Drawing.Color.White
Me.kohde_lbl.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.kohde_lbl.Location = New System.Drawing.Point(56, 8)
Me.kohde_lbl.Name = "kohde_lbl"
Me.kohde_lbl.Size = New System.Drawing.Size(160, 13)
Me.kohde_lbl.TabIndex = 1
Me.kohde_lbl.Text = ""
'
'LinkLabel2
'
Me.LinkLabel2.Location = New System.Drawing.Point(8, 32)
Me.LinkLabel2.Name = "LinkLabel2"
Me.LinkLabel2.Size = New System.Drawing.Size(72, 16)
Me.LinkLabel2.TabIndex = 2
Me.LinkLabel2.TabStop = True
Me.LinkLabel2.Text = "Resoluutio"
'
'leveys
'
Me.leveys.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.leveys.Location = New System.Drawing.Point(80, 32)
Me.leveys.Name = "leveys"
Me.leveys.Size = New System.Drawing.Size(48, 13)
Me.leveys.TabIndex = 3
Me.leveys.Text = "1280"
'
'korkeus
'
Me.korkeus.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.korkeus.Location = New System.Drawing.Point(144, 32)
Me.korkeus.Name = "korkeus"
Me.korkeus.Size = New System.Drawing.Size(48, 13)
Me.korkeus.TabIndex = 4
Me.korkeus.Text = "1024"
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(128, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(16, 16)
Me.Label1.TabIndex = 5
Me.Label1.Text = "x"
'
'LinkLabel3
'
Me.LinkLabel3.Location = New System.Drawing.Point(8, 72)
Me.LinkLabel3.Name = "LinkLabel3"
Me.LinkLabel3.Size = New System.Drawing.Size(56, 16)
Me.LinkLabel3.TabIndex = 6
Me.LinkLabel3.TabStop = True
Me.LinkLabel3.Text = "FPS"
'
'CheckBox1
'
Me.CheckBox1.Appearance = System.Windows.Forms.Appearance.Button
Me.CheckBox1.Enabled = False
Me.CheckBox1.Location = New System.Drawing.Point(16, 128)
Me.CheckBox1.Name = "CheckBox1"
Me.CheckBox1.Size = New System.Drawing.Size(88, 24)
Me.CheckBox1.TabIndex = 9
Me.CheckBox1.Text = "Kaappaa ääni"
'
'LinkLabel4
'
Me.LinkLabel4.Location = New System.Drawing.Point(8, 96)
Me.LinkLabel4.Name = "LinkLabel4"
Me.LinkLabel4.Size = New System.Drawing.Size(48, 16)
Me.LinkLabel4.TabIndex = 11
Me.LinkLabel4.TabStop = True
Me.LinkLabel4.Text = "FourCC"
'
'fourcc
'
Me.fourcc.ContextMenu = Me.jou
Me.fourcc.Location = New System.Drawing.Point(80, 96)
Me.fourcc.Name = "fourcc"
Me.fourcc.Size = New System.Drawing.Size(72, 20)
Me.fourcc.TabIndex = 12
Me.fourcc.Text = ""
'
'jou
'
Me.jou.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem2, Me.MenuItem3, Me.MenuItem4, Me.MenuItem5, Me.MenuItem6, Me.MenuItem7, Me.MenuItem8})
'
'MenuItem1
'
Me.MenuItem1.Index = 0
Me.MenuItem1.Text = "Ei pakkausta"
'
'MenuItem2
'
Me.MenuItem2.Index = 1
Me.MenuItem2.Text = "-"
'
'MenuItem3
'
Me.MenuItem3.Index = 2
Me.MenuItem3.Text = "XviD"
'
'MenuItem4
'
Me.MenuItem4.Index = 3
Me.MenuItem4.Text = "DivX"
'
'MenuItem5
'
Me.MenuItem5.Index = 4
Me.MenuItem5.Text = "Microsoft MPEG 4"
'
'MenuItem6
'
Me.MenuItem6.Index = 5
Me.MenuItem6.Text = "Indeo 5 (Suositeltu)"
'
'MenuItem7
'
Me.MenuItem7.Index = 6
Me.MenuItem7.Text = "-"
'
'MenuItem8
'
Me.MenuItem8.Index = 7
Me.MenuItem8.Text = "Anna FourCC"
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Button3)
Me.GroupBox1.Controls.Add(Me.Button2)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Location = New System.Drawing.Point(288, 144)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(224, 112)
Me.GroupBox1.TabIndex = 21
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Testaus"
Me.GroupBox1.Visible = False
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(16, 80)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(200, 24)
Me.Button3.TabIndex = 22
Me.Button3.Text = "Sulje tiedosto"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(16, 16)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(200, 24)
Me.Button2.TabIndex = 21
Me.Button2.Text = "Avaa tiedosto"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(16, 48)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(200, 24)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Kaappaa && Tallenna (1 ruutu)"
'
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.nappi_alku)
Me.GroupBox2.Controls.Add(Me.nappi_loppu)
Me.GroupBox2.Location = New System.Drawing.Point(16, 160)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(88, 80)
Me.GroupBox2.TabIndex = 24
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Nauhoitus"
'
'nappi_alku
'
Me.nappi_alku.Location = New System.Drawing.Point(8, 16)
Me.nappi_alku.Name = "nappi_alku"
Me.nappi_alku.Size = New System.Drawing.Size(72, 24)
Me.nappi_alku.TabIndex = 25
Me.nappi_alku.Text = "Aloita"
'
'nappi_loppu
'
Me.nappi_loppu.Enabled = False
Me.nappi_loppu.Location = New System.Drawing.Point(8, 48)
Me.nappi_loppu.Name = "nappi_loppu"
Me.nappi_loppu.Size = New System.Drawing.Size(72, 24)
Me.nappi_loppu.TabIndex = 24
Me.nappi_loppu.Text = "Lopeta"
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(152, 72)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(256, 56)
Me.Label5.TabIndex = 25
Me.Label5.Text = "Fourccn pohjalta laskettu numero (0 = ei pakkausta). Varmista että valittu koodik" & _
"ki on asennettuna!! Saat valikon yleisimmistä hiiren oikeasta napista"
'
'fps
'
Me.fps.Location = New System.Drawing.Point(80, 72)
Me.fps.Name = "fps"
Me.fps.Size = New System.Drawing.Size(72, 20)
Me.fps.TabIndex = 26
Me.fps.Text = "25"
'
'LinkLabel5
'
Me.LinkLabel5.Location = New System.Drawing.Point(200, 32)
Me.LinkLabel5.Name = "LinkLabel5"
Me.LinkLabel5.Size = New System.Drawing.Size(64, 16)
Me.LinkLabel5.TabIndex = 27
Me.LinkLabel5.TabStop = True
Me.LinkLabel5.Text = "Hae"
'
'LinkLabel6
'
Me.LinkLabel6.Location = New System.Drawing.Point(8, 48)
Me.LinkLabel6.Name = "LinkLabel6"
Me.LinkLabel6.Size = New System.Drawing.Size(56, 16)
Me.LinkLabel6.TabIndex = 28
Me.LinkLabel6.TabStop = True
Me.LinkLabel6.Text = "Tallenna"
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(128, 48)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(16, 16)
Me.Label2.TabIndex = 31
Me.Label2.Text = "x"
'
'korkeus2
'
Me.korkeus2.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.korkeus2.Enabled = False
Me.korkeus2.Location = New System.Drawing.Point(144, 48)
Me.korkeus2.Name = "korkeus2"
Me.korkeus2.Size = New System.Drawing.Size(48, 13)
Me.korkeus2.TabIndex = 30
Me.korkeus2.Text = "0"
'
'leveys2
'
Me.leveys2.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.leveys2.Enabled = False
Me.leveys2.Location = New System.Drawing.Point(80, 48)
Me.leveys2.Name = "leveys2"
Me.leveys2.Size = New System.Drawing.Size(48, 13)
Me.leveys2.TabIndex = 29
Me.leveys2.Text = "0"
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(232, 32)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(128, 16)
Me.Label3.TabIndex = 33
Me.Label3.Text = "PELISSÄ KÄYTETTÄVÄ"
'
'tila
'
Me.tila.Location = New System.Drawing.Point(0, 298)
Me.tila.Name = "tila"
Me.tila.Panels.AddRange(New System.Windows.Forms.StatusBarPanel() {Me.nauh, Me.tfps, Me.aika, Me.buffer})
Me.tila.ShowPanels = True
Me.tila.Size = New System.Drawing.Size(520, 22)
Me.tila.TabIndex = 34
'
'nauh
'
Me.nauh.Text = "Nauhoitettu: 0 f"
Me.nauh.Width = 150
'
'tfps
'
Me.tfps.Text = "FPS: 0"
Me.tfps.Width = 125
'
'aika
'
Me.aika.Text = "Aika: 0 s"
'
'buffer
'
Me.buffer.Text = "Bufferi: 0 f"
'
'paivita
'
Me.paivita.Interval = 1000
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(520, 320)
Me.ContextMenu = Me.jou
Me.Controls.Add(Me.tila)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.korkeus2)
Me.Controls.Add(Me.leveys2)
Me.Controls.Add(Me.LinkLabel6)
Me.Controls.Add(Me.LinkLabel5)
Me.Controls.Add(Me.fps)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.fourcc)
Me.Controls.Add(Me.LinkLabel4)
Me.Controls.Add(Me.CheckBox1)
Me.Controls.Add(Me.LinkLabel3)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.korkeus)
Me.Controls.Add(Me.leveys)
Me.Controls.Add(Me.LinkLabel2)
Me.Controls.Add(Me.kohde_lbl)
Me.Controls.Add(Me.LinkLabel1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow
Me.Name = "Form1"
Me.Text = "VideoCAP"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
CType(Me.nauh, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.tfps, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.aika, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.buffer, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As String) As Integer
Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
Private Declare Function GetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" (ByVal hdc As Integer, ByVal nIndex As Integer) As Integer
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC As Integer, ByVal hObject As Integer) As Integer
Private Declare Function BitBlt Lib "GDI32" (ByVal srchDC As Integer, ByVal srcX As Integer, ByVal srcY As Integer, ByVal srcW As Integer, ByVal srcH As Integer, ByVal desthDC As Integer, ByVal destX As Integer, ByVal destY As Integer, ByVal op As Integer) As Integer
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObj As Integer) As Integer
Const SRCCOPY As Integer = &HCC0020
Private kuva As Bitmap
Private FW, FH As Integer
Dim testaa As Boolean
Dim int2 As Integer
Dim buff As Integer
Dim kulunu As Long
Dim avi As AviLib.AviWriter
Dim sleep_time As Integer
Dim kaappaus As New Threading.Thread(AddressOf WriteFrame)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Protected Sub Capture_screen()
Dim hSDC, hMDC As Integer
Dim hBMP, hBMPOld As Integer
Dim r As Integer
hSDC = CreateDC("DISPLAY", "", "", "")
hMDC = CreateCompatibleDC(hSDC)
FW = GetDeviceCaps(hSDC, 8)
FH = GetDeviceCaps(hSDC, 10)
hBMP = CreateCompatibleBitmap(hSDC, FW, FH)
hBMPOld = SelectObject(hMDC, hBMP)
r = BitBlt(hMDC, 0, 0, FW, FH, hSDC, 0, 0, 13369376)
hBMP = SelectObject(hMDC, hBMPOld)
r = DeleteDC(hSDC)
r = DeleteDC(hMDC)
kuva = Image.FromHbitmap(New IntPtr(hBMP))
DeleteObject(hBMP)
End Sub
Private Sub kohde_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles kohde.FileOk
kohde_lbl.Text = kohde.FileName
End Sub
Private Sub kohde_lbl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles kohde_lbl.Click
kohde.ShowDialog()
End Sub
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.None)
End Sub
Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.XviD)
End Sub
Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.DivX)
End Sub
Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem5.Click
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.MicrosoftMPEG4)
End Sub
Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.Indeo5)
End Sub
Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
Dim str As String = InputBox("Anna FourCC", , "xvid")
fourcc.Text = System.Convert.ToInt32(AviLib.AviCompression.GetFourCC(str))
End Sub
Private Sub WriteFrame()
Do
Capture_screen()
avi.WriteFrame(kuva)
' 28f/20s
int2 = int2 + 1
' Application.DoEvents()
' kaappaus.Sleep(sleep_time)
Loop
End Sub
Private Sub nappi_alku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nappi_alku.Click
If fourcc.Text <> "" And kohde_lbl.Text <> "" And leveys.Text <> "" And korkeus.Text <> "" Then
testaa = True
avi = New AviLib.AviWriter(kohde_lbl.Text, Convert.ToUInt32(fourcc.Text), System.Convert.ToUInt32(fps.Text), leveys.Text, korkeus.Text)
sleep_time = Convert.ToInt32((1000 / (fps.Text))) - 1
kaappaus.Start()
paivita.Start()
Else
MsgBox("Anna kaikki tiedot")
End If
nappi_alku.Enabled = False
nappi_loppu.Enabled = True
End Sub
Private Sub nappi_loppu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nappi_loppu.Click
kaappaus.Abort()
paivita.Stop()
avi.Close()
nappi_alku.Enabled = True
nappi_loppu.Enabled = False
End Sub
Private Sub LinkLabel5_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel5.LinkClicked
Capture_screen()
korkeus.Text = kuva.Height
leveys.Text = kuva.Width
End Sub
Private Sub paivita_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles paivita.Tick
kulunu = kulunu + 1
aika.Text = "Aika: " & Int(kulunu) & " s"
nauh.Text = "Nauhoitettu: " & Int(int2) & " f (d: " & ((Int(fps.Text) * kulunu) - int2) & ")"
tfps.Text = "FPS: " & int2 / kulunu
buffer.Text = "Bufferi: ei käytössä"
End Sub
End ClassGoogleta avilib niin saat tarvittavan kirjaston.
Sitten voit rajata tiettyyn alueseen
ja merkkauksen voit tehdä läpinäkyvällä lomakkeella jossa punaset reunat esimerkiksi
En löydä tuohon koodiin sita kirjastoa löydän siis kyllä sen eri kielille mutta en VB.NRT:Ille.
Löysin tuollaisen paketin: http://midget3d.com/gabe/AviLib.zip
, mutta eipä tuota ole helpposaada toimimaan, kun vb.net ohjelmat ainakin Visual Studio 2005 betassa muodostuu kiljoonasta tiedostosta ja tuossa esimerkissä on vain yksi. Eli joutunee opettelee tuon esimerkin ja kirjoittamaan oman ohjelman, jollei Nikolla ole netissä jaossa tai muuten tietoa enemmän.
Ei välttämättä. Kopioit vain Form1.vbhen toun...
www.pahajoki.info/WindowsApplication1.rar
DirectXkin näköjään osaa tuon http://www.codeproject.com/cs/media/
Aihe on jo aika vanha, joten et voi enää vastata siihen.