Alat snipping Windows menyorot lurus

Dalam Windows Snipping Tool, saya ingin tahu bagaimana saya bisa menggunakan alat stabilo untuk menggambar garis lurus?

Larutan

Alat snipping Windows tidak memiliki cara untuk membiarkan kita menggambar garis lurus dengan menekan Shift. Windows Ink Workspace adalah alat lain yang mendukung snipping dan menggambar bagian yang dipotong. Ini memiliki penggaris virtual yang membantu kita untuk menggambar garis lurus.


Untuk mengaktifkan Windows Ink Workspace

Klik kanan di mana saja pada taskbar dan dari menu konteks pilih Tampilkan tombol Windows Ink Workspace. Ikon pena yang menulis dalam bentuk "S" akan muncul di area notifikasi di ujung kanan.

Untuk meluncurkan ruang kerja, klik atau ketuk ikon Windows Ink Workspace berbentuk pena yang muncul di area notifikasi Anda.


Ketuk blok "Screen sketch". Ini akan menjadi blok ketiga dalam daftar. Ini akan secara otomatis mengambil screenshot layar anda dan memuatnya untuk sketsa anda.


Arahkan ke bilah pena di kanan atas layar.


Pilih ikon penggaris. Ini terlihat seperti penggaris diagonal.


Tempatkan mouse di atas penggaris dan gunakan roda gulir mouse untuk memutar dan memposisikan penggaris.

Sampel Sketsa


Semoga ini membantu.

Catatan: Sketsa Layar adalah fitur baru yang tersedia di Pembaruan Ulang Tahun Windows 10

Komentar (2)

Pengguna 3DWizard memiliki [AutoHotKey script] yang bagus (https://autohotkey.com/board/topic/55934-constrain-mouse-movement-when-key-held-down/) yang sedikit saya modifikasi untuk membantu saya memecahkan masalah ini. Tahan Shift di dalam jendela Snipping Tool untuk membatasi mouse pada gerakan horizontal.

SendMode Input ; Recommended for new scripts due to its superior speed and reliability
SetTitleMatchMode 2 ; Allows for partial matches in window titles

; Commands specific to when Snipping Tool is open
#IfWinActive, Snipping Tool
  $*Shift::
    Send {Shift Down}
    CoordMode, Mouse, Screen
    MouseGetPos, SetX, SetY
    ; clip the cursor to a rectangle that consists just of a line in x-direction
    ClipCursor(true, -1000000, SetY, 1000000, SetY+1)
    KeyWait Shift
  return

  $*Shift Up::
    Send {Shift Up}
    ClipCursor(false, 0, 0, 0, 0) ; unclip the cursor
  return

  ClipCursor(Confine=True, x1=0 , y1=0, x2=1, y2=1)
  {
    VarSetCapacity(R, 16, 0), NumPut(x1, &R+0), NumPut(y1, &R+4), NumPut(x2, &R+8), NumPut(y2, &R+12)
    Return Confine ? DllCall("ClipCursor", UInt, &R) : DllCall("ClipCursor")
  }
#IfWinActive
Komentar (2)

Jawaban oleh @HaveSpacesuit tidak berfungsi untuk saya di Windows 10.

Melepaskan Shift tidak melepaskan kursor.

Untuk memperbaikinya, ubah baris ketiga dari belakang menjadi:

Return Confine ? DllCall( "ClipCursor", UInt,&R ) : DllCall( "ClipCursor", UInt, 0 )

Seluruhnya, kode yang berfungsi:

SendMode Input ; Recommended for new scripts due to its superior speed and reliability
SetTitleMatchMode 2 ; Allows for partial matches in window titles
CoordMode, Mouse, Screen  

; Commands specific to when Snipping Tool is open
#IfWinActive, Snipping Tool
  $*Shift::
    Send {Shift Down}
    MouseGetPos, SetX, SetY
    ClipCursor( true, -10000, SetY, 10000, SetY+1 ) ;clip the cursor to a rectangle that consists just of a line in x-direction
    KeyWait Shift
  return

  $*Shift Up::
    Send {Shift Up}
    ClipCursor( false, 0, 0, 0, 0 ) ; unclip the cursor
  return

  ClipCursor( Confine=True, x1=0 , y1=0, x2=1, y2=1 ) {
    VarSetCapacity(R,16,0),  NumPut(x1,&R+0),NumPut(y1,&R+4),NumPut(x2,&R+8),NumPut(y2,&R+12)
    Return Confine ? DllCall( "ClipCursor", UInt,&R ) : DllCall( "ClipCursor", UInt, 0 )
  }
#IfWinActive
Komentar (1)