NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Screenshot (FULLSCREEN)

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:8.3.2017 18:34

Ahoj, snažím se udělat Screenshot přes celou obrazovku a udělá mi to jenom nějakou část.
Všechny kódy které jsem našel to dělájí.

Můj Kód:

Dim currentScreen = Screen.FromHandle(Me.Handle).WorkingArea

'create a bitmap of the working area
Using bmp As New Bitmap(currentScreen.Width, currentScreen.Height)

    'copy the screen to the image
    Using g = Graphics.FromImage(bmp)
        g.CopyFromScreen(New Point(0, 0), New Point(0, 0), currentScreen.Size)
    End Using

    'save the image

    bmp.Save("C:\Users\" & Environment.UserName & "\Desktop\" & ".png", Imaging.ImageFormat.Png)
End Using
Odpovědět
8.3.2017 18:34
Neaktivní uživatelský účet
Avatar
termostat
Člen
Avatar
termostat:9.3.2017 9:51

Zkus takhle:

Dim currentScreen = Screen.FromHandle(Me.Handle)

'create a bitmap of the working area
Using bmp As New Bitmap(currentScreen.Bounds.Width, currentScreen.Bounds.Height)

        'copy the screen to the image
        Using g = Graphics.FromImage(bmp)
                g.CopyFromScreen(0, 0, 0, 0, currentScreen.Bounds.Size)
        End Using
                'save the image
        bmp.Save("C:\" & Environment.UserName & "_Desktop" & ".png", Imaging.ImageFormat.Png)
End Using
 
Nahoru Odpovědět
9.3.2017 9:51
Avatar
Neaktivní uživatel:9.3.2017 19:16

Nefunguje

Nahoru Odpovědět
9.3.2017 19:16
Neaktivní uživatelský účet
Avatar
termostat
Člen
Avatar
termostat:9.3.2017 20:25

Jakou část obrazovky ti to vyfotí ? Mě to funguje, udělá screenshot celé obrazovky.
Všiml sis, že screenshoty se v mojem kódu ukládají přímo na C:\, nedíváš se na ty staré ?

 
Nahoru Odpovědět
9.3.2017 20:25
Avatar
HONZ4
Člen
Avatar
Odpovídá na Neaktivní uživatel
HONZ4:9.3.2017 20:44

Funguje. (Ale tento způsob snímání obrazovky nebude fungovat u videí, her apd.)
I ten tvůj kód je určitě funkční, pouze je tam šíleně zadaná cesta pro uložení.
Proč nepoužiješ rovnou Environment.Spe­cialFolder.Des­ktop ?

Ikdyž jsou výše uvedené kódy funkční, můžeš zkusit Screen.FromHan­dle() nahradit např. Screen.PrimaryS­creen;...

 
Nahoru Odpovědět
9.3.2017 20:44
Avatar
HONZ4
Člen
Avatar
Odpovídá na termostat
HONZ4:9.3.2017 20:52

To taky není rozumný způsob, při aktivním UAC se soubor do složky C:\ nezapíše bez admin. práv.

 
Nahoru Odpovědět
9.3.2017 20:52
Avatar
Neaktivní uživatel:9.3.2017 21:15

Vyfotí to jen toto: https://ctrlv.cz/z8Zh
Ono to prostě fotí ale jenom nějakou část..

Nahoru Odpovědět
9.3.2017 21:15
Neaktivní uživatelský účet
Avatar
termostat
Člen
Avatar
Odpovídá na HONZ4
termostat:9.3.2017 21:29

Ta cesta je samozřejmě jen na vyzkoušení :-)

 
Nahoru Odpovědět
9.3.2017 21:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.