Как я могу помешать моему дисплею сетчатки делать скриншоты размером 2x?

59

Недавно я получил MacBook с сетчаткой и все мои скриншоты (через ⌘ CMD+ ⇧ SHIFT+ 3или ⌘ CMD+ ⇧ SHIFT+ 4) в два раза больше по сравнению с тем, как они отображаются на экране.

Как я могу предотвратить это?

Мэтт Хаггинс
источник
6
В два раза больше? Как буквально в 4 раза плотность пикселей? Снимки экрана обычно захватывают изображение с плотностью 1: 1. Можете ли вы проверить свойства изображения в окне предварительного просмотра, чтобы убедиться, что оно действительно в 2 раза больше ширины и в 2 раза больше высоты экрана сетчатки, либо 2880 × 1800 (15 дюймов), либо 2560 × 1600 (13 дюймов).
Ян С.
3
Снимок экрана дисплея сетчатки имеет то же количество пикселей, которые первоначально отображались. При передаче во многих других контекстах (например, при вставке в Интернет) информация с более высоким DPI теряется, поэтому она кажется в два раза больше. 2880x1800 - довольно чертовски большое изображение.
Стив Беннетт
1
Вы открываете их в Preview.app? При просмотре любого изображения на дисплее Retina в Preview используется четыре пикселя экрана для отображения одного пикселя изображения. Преимущество заключается в том, что большинство изображений отображаются в традиционном физическом размере, но снимки экрана самого дисплея выглядят в четыре раза. Другие графические редакторы, такие как Acorn и Photoshop , используют один пиксель экрана на пиксель изображения, поэтому ваши снимки экрана будут иметь нормальный размер.
duozmo
Жаль, что AffinityPhoto не включает в себя систему
Droplet
Никогда этого не замечал. Для меня это происходит только со скриншотами, снятыми через CMD+SHIFT+3(весь экран), но не со скриншотами, сделанными через CMD+SHIFT+4(выбранная область экрана).
ShreevatsaR

Ответы:

25

Вот наиболее удобное решение (взято с http://www.quora.com/How-can-I-get-my-retina-Mac-to-not-take-screenshots-that-are-too-big и изменено немного)

Используйте встроенный в OsX Automator, чтобы автоматически уменьшать снимки экрана после их съемки.

  1. Открыть / Приложения / Automator
  2. Создать «Действие папки»
  3. В верхней части окна, где написано «Папка Action получает файлы и добавленные папки», выберите «Рабочий стол»
  4. На панели слева выберите «Файлы и папки» и перетащите элемент «Элементы поиска фильтров» на правую панель.
  5. Добавьте следующие условия к действию «Элементы поиска фильтра»: Имя начинается с «Снимок экрана»; Вид это имидж.
  6. (Необязательный шаг: если вы хотите сохранить копии оригиналов) - В списке «Действия» слева найдите «Копировать элементы Finder» и перетащите его на панель справа. Установите папку назначения для копии изображения (например: «Кому: Изображения»)
  7. В библиотеке «Действия» слева нажмите «Фотографии» и перетащите действие «Масштабировать изображения» на правую панель.
  8. В действии «Масштабировать изображения» выберите «По процентам» из раскрывающегося списка и установите значение 50.
  9. Выберите «Файл»> «Сохранить» и присвойте Движению папки быстрое имя, например «Меньшая копия снимка экрана».

Скриншот

Здесь сохранен файл рабочего процесса

Даниил
источник
ТИЛ об Автоматоре!
Дэн Тао
1
Похоже, что это не работает в Мохаве (по крайней мере, бета). Я могу запустить это для отдельного элемента, и он работает, но автомат не будет работать, когда сделан снимок экрана, возможно, потому что Mojave теперь немедленно вызывает предварительный просмотр редактирования стиля iOS в углу.
Стивен
1
быстрое обновление: кажется, что обновление до Mojave (по крайней мере для меня) потребовало, чтобы я щелкнул правой кнопкой мыши по моей папке и установил / активировал действия с папками в Сервисах (хотя мне никогда не приходилось делать это раньше). Как только я это сделал (и отключил предварительный просмотр углов для скриншотов), это действие снова работает.
Стивен
13

Вот как я справляюсь. Он запутанный, но работает и не прерывает мой захват экрана -> дико вставляет рабочий процесс ... Я просто делаю скриншот, вызываю рабочий процесс Альфреда, а затем вставляю.

CMD-CTRL-SHIFT-4захватит часть экрана. Этот раздел копируется в буфер обмена OSX. Затем я запускаю скрипт в терминале, чтобы сохранить содержимое буфера обмена во временный файл, изменить его размер наполовину (72 dpi - это половина 144 dpi) и скопировать изображение обратно в буфер обмена. Это требует использования нескольких утилит - если кто-то знает способ совершить этот же подвиг с помощью одной простой утилиты, пожалуйста, дайте мне знать.

Я запускаю этот скрипт от Альфреда, чтобы было легче добраться до:

#!/bin/bash
pngpaste /tmp/ss.png
width=$((`sips -g pixelWidth /tmp/ss.png | cut -s -d ':' -f 2 | cut -c 2-` / 2))
sips -Z $width /tmp/ss.png
impbcopy /tmp/ss.png

pngpasteнаходится на github: https://github.com/jcsalterego/pngpaste . sipsпоставляется с OSX. impbcopyздесь: http://www.alecjacobson.com/weblog/?p=3816

У LifeHacker была статья на sips http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal, на которую я ссылался, а также на эту суть: gist.github.com/lanceli / 4966207.

Для Альфреда я только что создал рабочий процесс, который запускает это как скрипт bash:

/Users/yourusername/bin/shrink_clipboard > /dev/null 2&>1
JustinParker
источник
Я люблю это, в теории, но для меня это либо искажает изображение, либо делает его расплывчатым до неузнаваемости ...
Дан
2
@ Ze'ev Попробуйте заменить строки 2 и 3 следующим образом:/usr/bin/sips -s dpiHeight 72.0 -s dpiWidth 72.0 /tmp/ss.png
tubedogg
Ага ... на самом деле проблема заключается в "ошибке" в Google Chrome, которая неправильно пересчитывает изображения. Если я вставлю тот же буфер обмена в Mail.app, он будет выглядеть правильно. Таким образом, этот обходной путь эффективно увеличивает изображение для «резкого» вставления в Chrome, а затем вы можете изменить его размер с помощью угла изменения размера Gmail ... пока они не исправят это ...
Дан,
2
@ Ze'ev это не просто Chrome. Любое приложение, которое отбрасывает информацию о DPI, будет отображать изображение неправильно. В данном случае это комбинация вещей: (другая) ошибка в Chrome приводит к изменению размера изображения поверх добавления информации о DPI, что делает его еще хуже.
tubedogg
Я обнаружил, что следующие файлы обеспечивают самый низкий размер файла без ущерба для качества: screencapture -ioW $SCREENSHOT && pngquant -f --ext .png --skip-if-larger $SCREENSHOT && impbcopy $SCREENSHOT
jsuth
10

Два обходных пути:

  1. Если у вас есть внешний монитор без Retina, перетащите туда окно приложения и сделайте снимок экрана. Это то, чем я занимаюсь большую часть времени.

  2. Это работает только в браузерах. Нажмите ⌘CMD+ -пару раз, чтобы уменьшить шрифт до 50%, затем снимите экран.

Например:

введите описание изображения здесь

Очевидно, что макет может немного измениться, но это может быть хорошо в зависимости от ваших потребностей.

Стив Беннетт
источник
умные обходные пути!
Толстяк
7

Лучше всего использовать стороннюю утилиту, такую ​​как RetinaCapture .

Это довольно громоздко для использования, но дает вам то, что вы ищете, и предоставляет возможность генерировать как 1x, так и 2x снимки экрана одновременно, что полезно, если вы создаете сайт:

введите описание изображения здесь

введите описание изображения здесь


Я ожидаю, что где-то есть настройка для этого ( com.apple.screencaptureкажется, лучший кандидат); но я не могу найти это.

Оромэ
источник
2
  1. Сделай скриншот.
  2. Вставьте скриншот в Evernote.
  3. Скопируйте скриншот из Evernote.
  4. Вставьте скриншот туда, где и предполагалось.
JD Леонард
источник
Хорошо, я положил его в Evernote Helper (в меню) и работает.
huyz
2

Я использовал гибрид ответов Дэна Кея и Джастина Паркера и создал рабочий процесс Automator, который выполнял сценарий bash.

Автоматизация рабочего процесса

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

Код bash:

for f in "$@"
do
    width=$((`sips -g pixelWidth "$f" | cut -s -d ':' -f 2 | cut -c 2-` / 2))
    sips -s dpiHeight 72.0 -s dpiWidth 72.0 -Z $width "$f"
done
mikegreiling
источник
1

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

Одним из обходных путей для этого, если вы отправляете снимки экрана через Почту OS X, является установка для параметра «Размер изображения» для прикрепленных изображений значения «Большой» вместо «Фактический размер». Это уменьшит прикрепленное изображение так, чтобы оно выглядело «нормальным» при просмотре на дисплее без сетчатки.

daGUY
источник
4
Есть много случаев, когда ваш скриншот сетчатки будет выглядеть вдвое больше, даже на вашем собственном дисплее Retina. Загрузка для любого сайта, который игнорирует настройку DPI, для начала.
Стив Беннетт
@SteveBennett PNG, созданные с помощью снимков экрана, не имеют информации о DPI.
duozmo
Да, это разочаровывает.
Стив Беннетт
1
Нет, стандартное разрешение 72 т / д в Интернете . Посмотрите на ясный пример, который я привел к вопросу (это удивительно, что вы никогда не замечали этого). Тот факт, что Apple принимает решение сохранить его с разрешением 144 dpi, на данный момент является для них просто плохим решением. (Конечно, может быть, через 20 лет «все» будут абстрагироваться от концепции DPI, как сейчас делает Apple. На данный момент это просто бесполезно и глупо.)
Толстяк
«PNG, созданные с помощью снимков экрана, не имеют информации о DPI». Чтобы просмотреть информацию о DPI, вам нужно только открыть ее в режиме предварительного просмотра (т. Е. «Двойной щелчок») и посмотреть информационную панель, на которой отображается информация о DPI.
Толстяк
1

Служба автоматизации рабочего процесса правой кнопкой мыши

Здесь есть несколько отличных ответов, но я хотел что-то более необязательное и немного менее автоматическое.

Я создал новую службу в Automator под названием « Создать версию без Retina», которую можно вызвать, щелкнув правой кнопкой мыши любой файл изображения в Finder.

Вот как это используется:

1. Найдите изображение сетчатки.

введите описание изображения здесь

2. Нажмите правой кнопкой мыши на изображение сетчатки и найдите наш новый Сервис внизу.

введите описание изображения здесь

3. Изображение не Retina (масштабируется на 50%) генерируется.

введите описание изображения здесь

Результат

Изображение по умолчанию:

введите описание изображения здесь

Non-Retina Image:

введите описание изображения здесь

Рабочий процесс Automator

Это достаточно просто создать самостоятельно (чувак, Automator - скрытый и заброшенный драгоценный камень в MacOS), но вот рабочий процесс, который вы можете загрузить и дважды щелкнуть, чтобы установить.

Создать рабочий процесс версии без Retina

Джошуа Пинтер
источник
0

Monosnap может сделать это довольно хорошо. Имеется расширенная настройка «Усадочная сетчатка с защелками».

Он имеет аналогичный ярлык области захвата ⌥ Option+ ⌘ CMD+, 5который копирует изображение в буфер обмена.

Помимо этого, он может делать гораздо больше, например, записи экрана и прямую загрузку снимков экрана в Интернет для удобного обмена.

Сандер ван Леувен
источник