2013-08-09 1 views
0

Мне очень любопытно узнать, как кнопка «Печать» фиксирует текущий экран? Когда мы нажимаем кнопку «print», что происходит? Как он захватит экран?Как работает кнопка «Печать» (клавиатура)?

Пожалуйста, дайте мне знать, если кто-нибудь знает о том же.

Благодаря, Jimit

+0

Is [это] (HTTP: // stackoverflow.com/questions/1163761/c-sharp-capture-screenshot-of-active-window), аналогичный вашему вопросу? – rene

+0

Нет, я не спрашиваю в контексте программирования, я спрашиваю в контексте операционной системы или Windows. – Jimit

ответ

1

оригинальное использование

Под командной строки на основе операционных систем, таких как MS-DOS, этот ключ вызывает содержимое текущего буфера памяти экрана в текстовом режиме, чтобы быть скопированы в стандартный порт принтера, обычно LPT1. В сущности, все, что было в данный момент на экране при нажатии клавиши, было напечатано. Нажатие клавиши Ctrl в сочетании с Prt Sc включает и выключает функцию «эхо-принтер». Когда эхо действует, любой обычный текстовый вывод на экран будет скопирован («эхо») на принтер. Также имеется символ Юникода для экрана печати, U + 2399 ⎙

.

современного использования

операционные системы Новые поколения, использующие графический интерфейс, как правило, чтобы скопировать растровое изображение текущего экрана в буфер обмена или их сравнимой области хранения, которые могут быть вставлены в документ в качестве экрана. Некоторые оболочки позволяют изменять точное поведение с помощью клавиш-модификаторов, таких как управляющий ключ.

Macintosh не использует клавишу экрана для печати; вместо этого используются комбинации клавиш, начинающиеся с ⌘ Cmd + ⇧ Shift.

.

Coding

Например # код C может работать, чтобы сделать скриншот:

private void PrtScr() { 
    Bitmap bm = new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
           Screen.PrimaryScreen.Bounds.Height); 

    Graphics g = Graphics.FromImage(bm as Image); 

    g.CopyFromScreen(0, 0, 0, 0, bm.Size); 

    bm.Save(@"C:\image.jpeg", ImageFormat.Jpeg); 

} 

Например, Java код:

class ScreenRecorder { 
public static void main(String args[]) { 
    try { 
     Toolkit tool = Toolkit.getDefaultToolkit(); 
     Dimension d = tool.getScreenSize(); 
     Rectangle rect = new Rectangle(d); 
     Robot robot = new Robot(); 
     Thread.sleep(2000); 
     File f = new File("screenshot.jpg"); 
     BufferedImage img = robot.createScreenCapture(rect); 
     ImageIO.write(img,"jpeg",f); 
     tool.beep(); 
     } catch(Exception e){ 
     e.printStackTrace(); 
     } 
    } 
} 
Смежные вопросы