Avatar billede nameless Nybegynder
28. april 2003 - 19:19 Der er 2 kommentarer og
1 løsning

Screenshot speciel

Hvordan laver man screenshot med bestemt X,Y og bestemt sted af skærmen.. fx include noget sådan du kan sige nogle lign.
Picture1.Picture = EnFormForInput(x paa skaerm,y på skaerm,bredde,hoejde)

Havde fundet en class der kunne gøre det men den gik ned engang imellem. Funktionen skal være 100% stabil da den skal tage MANGE billeder.


fx:

Private sub Command1_click()
    Dim BolHeysa as Boolean
    Do While Not Heysa = True
        Picture1.Picture = EnFormForInput(X paa skaerm,Y paa skaerm,Bredde,Hoejde)
          If Picture1.Point(1,1) = 0 Then
              msgbox "black colour has been detected"
              Heysa = True
        End If
        DoEvents
    Loop
End Sub

Funktionen der tager screenshot skal som sagt være 100% stabil, da den køre i LANG tid og tager Screenshot så hurtigt som muligt. Det var vist alt.
Avatar billede sjh Nybegynder
28. april 2003 - 23:53 #1
Option Explicit

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private 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

Public Sub ShotPos(picBox As PictureBox, pxX As Long, pxY As Long, pxWidth As Long, pxHeight As Long)
  Call BitBlt(picBox.hDC, 0, 0, pxWidth, pxHeight, GetDC(0), pxX, pxY, vbSrcCopy)
End Sub

Private Sub Command1_Click()
  ShotPos Picture1, 1, 1, 16, 16
End Sub
Avatar billede sjh Nybegynder
28. april 2003 - 23:58 #2
hvis det ikke virker det du vil så prøv sådan:

Public Sub ShotPos(picBox As PictureBox, pxX As Long, pxY As Long, pxWidth As Long, pxHeight As Long)
  Call BitBlt(picBox.hDC, 0, 0, pxWidth, pxHeight, GetDC(0), pxX, pxY, vbSrcCopy)
  picBox.Refresh
End Sub

Private Sub Command1_Click()
  ShotPos Picture1, 1, 1, 16, 16
End Sub

Private Sub Form_Load()
  Picture1.AutoRedraw = True
End Sub
Avatar billede nameless Nybegynder
29. april 2003 - 11:38 #3
jeg sidder desværre over på skolen lige nu men jeg glæder mig til at komme hjem og prøve at se om det virker. Forresten SJH var det dit script til at lave filer til jpg (det der ligger på din hjemmeside) jeg brugte til at tage screenshots med før. Hvis du tager mange med den class fil du har lavet bliver den langsommere og langsommere og til sidst går den ned. Det gælder dog kun windows xp kernel.

Men som sagt jeg ser frem til at bruge overstående ;) Det pleger sq altid at virke når du har hjulpet mig (som du jo efterhånden har gjort MANGE gange)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester