ラベル screencapture の投稿を表示しています。 すべての投稿を表示
ラベル screencapture の投稿を表示しています。 すべての投稿を表示

2013年2月11日月曜日

iPhoneでのスクリーンショットの撮り方2つ

iPhoneは全然使いこなせていません。やっとスクリーンショットの取り方を覚えたので自分用のメモとして残したいと思います。
私が今回知った方法は、2つです。

方法1
iPhoneの上部の「スリープ/スリープ解除ボタン」と「ホームボタン」を押します。同時に押すというよりも、「スリープ/スリープ解除ボタン」を押して微妙に遅れて「ホームボタン」を押すと良いようです。
(アップルのサイトにiPhone5のユーザマニュアルPDF (iphone_user_guide_j.pdf)があり、右上のボタンの正式名称?を知りました。)











方法2

この方法は準備の設定が必要です。
まずホーム画面で、設定ボタンをタップします。
 次に、一般アイコンをタップします。
次に、下にスクロールしていき、アクセシビリティアイコンをタップします。
次に、AssistiveTouchをタップして次のページでオンにします。

この画面でオンにすれば、準備は終了です。



















この設定を行うとiPhoneの画面に薄くて小さい二重丸のような形をしたメニューボタンが現れます。
メニューボタンは、iOS6ではスクリーンショットに写らないようですので、参考のために、別のiPhoneで撮ったホーム画面の下部にメニューボタンが出ている写真を張ります。スクリーンショットに比べるとちょっと歪んでいて色合いも変わっていますが御容赦を。


それではやっと本題ですが、メニューボタンを使ってのスクリーンショットの撮り方です。

 はじめに、スクリーンショットを撮りたい画面を表示して、メニューボタンをタップします。すると、デバイスボタンが出てきますのでそれをタップします。

次に、その他をタップします。

すると、スクリーンショットというボタンが表示されるのでそれをタップします。


















カメラアプリで何かを写しているところのスクリーンショットを撮るのに適した方法です。方法1だとボタンを2つ押さないといけないのでどうしてもブレてしまいますね。
方法2で、カメラアプリで何かを写そうとしている場面のスクリーンショットを下に載せます。

また、方法1のホームボタンをできるだけ押したくない場合もこの方法2を使うといいかもしれません。iPhoneのホームボタンは使い込むとだんだん効きが悪くなったり、逆に1回しか押していないのに、ダブルクリックみたいになってチャタリングみたいな誤動作をするようになってくるので、ホームボタンを長持ちさせるにはいいかもしれません。

スクリーンショットは、カメラロールに入るので、MacやPCと同期すればそっちに移動できます。

ところで、スクリーンショットを撮るときもシャッター音が鳴るんですね。予想していなかったので、ちょっとびっくりしました。カメラを使うアプリ以外の時は音が鳴らないようにしてくれてもいいと思ったのですが。
静かにしないといけない時は、iPhoneの右下のスピーカ部分を指でふさいで撮っています。少し音は出ますが、意外と小さい音になります。

2013年2月4日月曜日

スクリーンショットのファイル名の変更 (3)

システムファイルを変更してスクリーンショットのファイル名を変更する方法を説明しましたが、システムファイルを変更するのはできるだけ避けたいと思います。他に方法がなかったり、効果が大きい場合は別ですが。

defaultsコマンドとAutomatorでのシェルスクリプト(実際はrubyスクリプトですが)を組み合わせて実行することにしました。

1. はじめにスクリーンショットを保存するフォルダを作成します。ここでは仮にscreenshotsフォルダとし、適当なフォルダの下に作ります。
上の図では既にファイルが入っていますが、無視してください。

2. defaultsコマンドでスクリーンショットの保存先を、このscreenshotsフォルダに変更します。

$ defaults write com.apple.screencapture location ~/Documents/somewhere/screenshots
$ killall SystemUIServer

保存先の変更は、SystemUIServerの再起動が必要です。

3. Automatorを立ちあげて、フォルダアクションを選びます。

4. フォルダアクション(のワークフロー)を定義するフォルダを、先ほど変更したscreenshotsフォルダに設定します。

5. Automatorのアクションから「シェルスクリプトを実行」を選びます。今回は、rubyスクリプトを使いますので、シェルの種類を/usr/bin/rubyに変更し、下記のようなスクリプトを入力します。書く前は、rubyの方が簡単に書けるかなと思ったのですが、bashなどでもほぼ同等に問題なく書けそうですね。

スクリプト部分は下記のようになっています。ここでは、既にスクリーンショット名の先頭を"ss"にしていることを前提にしています。


re = /^ss \d{4}-\d\d-\d\d \d\d\.\d\d\.\d\d( \d+)?\.png$/
ARGV.each do |f|
if re =~ File.basename(f)
new = File.dirname(f) + "/" + File.basename(f).gsub(" ", "-")
File.rename(f, new) unless File.exists?(new)
end
end

6. フォルダアクションに適当な名前をつけて保存します。ここでは、mvssとしました。

準備は以上で終了です。
使い方は、普通どおりにcommand + shift + 3 や 4 でスクリーンショットを撮るだけです。
"ss 2013-02-14 02.34.56.png"で一旦保存された後、"ss-2013-02-14-02.34.56.png"に自動的に変更されます。
場合によっては、以前書いたpngからgifへの変換も合わせて行なってもいいかもしれません。

2013年2月3日日曜日

スクリーンショットのファイル名の変更 (2)

defaultsコマンドでスクリーンショットのファイル名を変更しましたが、先頭のプレフィックス部分("スクリーンショット"、私は"ss"に変更しました)と日付の部分の間の空白(スペース)は消えません。日付と時間の間のスペースもですね。
スクリーンショット 2013-02-03 01.23.45.png や、ss 2013-02-03 01.23.45.png のように間がスペースになっています。

この部分を変更する方法は、以下のようになります。システムファイルを触るので、気をつけて実行する必要があります。
ここでは、Mountain Lion (10.8.2)、日本語環境とします。また、Xcodeをあらかじめインストールしてください。

変更するファイルは、
/System/Library/CoreServices/SystemUIServer.app/Contents/Resources/Japanese.lproj/ScreenCapture.strings
です。
このファイルは、バイナリ形式のプロパティファイルです。

1. まず、問題が起きた時のために、ScreenCapture.stringsのバックアップを取ります。
Finderでもターミナルでもよいですが、ScreenCapture.stringsを、ScreenCapture-orig.stringsなどとコピーしておきます。システムファイルなので、一連の操作のたびに管理者パスワードが必要になります。

2. 次に、ScreenCapture.stringsを自分のディレクトリ(~/Documentsなど)にコピーして、拡張子をplistに変更します。

3. 変更したファイルをXcodeで開くと以下のような画面になります。

この中の赤で囲んである部分のスペースを"-"に変更します。以下のようになります。

4. ファイルを保存したら、拡張子をstringsに戻し、元のディレクトリにコピーします。
5. ターミナルで、SystemUIServerを再起動します。

この手順で、スクリーンショットを取ると、ファイル名が
スクリーンショット-2013.02.03-01.23.45.pngのようになります。

普通はこれで終わっている解説が多いと思いますが、もう少し完璧を期したい場合は続きがあります。好みの範疇かもしれませんが。

6. もう一度、~/DocumentsにコピーしたplistファイルをXcodeで開きます。
青で囲んである部分の空白も"-"に変更します。以下のようになります。
この状態で、上記の4, 5を繰り返します。

何をしたかというと、1秒間に複数枚のスクリーンショットを撮った場合のファイル名に対処するためです。例えば、この状態で、command + shift + 3 で素早く連続してスクリーンショットを取ると、1秒以内のファイル名が、以前は、スペース付きで" 1", " 2"と増えていっていたのが、"-1"、"-2"のようにハイフン付きで増えるようになります。
ここまで気にする必要は多分ないと思いますが。

ところで、私は、この手順が確認できた後、また元に戻してしまいました。
手順の1.で保存しておいたScreenCapture-orig.strings を元のScreenCapture.stringsに戻しました。OSのバージョンアップで変更があると元に戻ってしまうのと、他に代替手段があればシステムファイルはできるだけ触らない方がよいと思ったためです。
代替手段については、稿を改めて書きたいと思います。

2013年2月2日土曜日

スクリーンショットのファイル名を変更する方法について (killall SystemUIServerは いらなかったんだ)

Macでスクリーンショットのファイル名(の先頭部分)を変更する方法は、以下の通りです。
デフォルトでは、"スクリーンショット 2013-02-01 7.15.24.png"などのように先頭部分が"スクリーンショット"になります。それでは長いので"ss"にするなら次のようになります。

$ defaults write com.apple.screencapture name ss

知っている人も多いのではないでしょうか。

書きたかったのはこの部分なく次の部分です。
いろいろなブログをみるとその後、必ず
$ killall SystemUIServer
を実行してくださいと書いてあるのですが、少なくともMountain Lionでは、特に上のコマンドは実行する必要はないようです。
killallにきちんと言及してあるブログはちゃんと試しているのだなと思えます。
他の属性についても調べてみたいですね。

[追記: 2013-02-02 12:05]
Mountain Lionについてcom.apple.screencaptureの属性変更の反映にkillall SystemUIServerが必要かどうか調べてみました。以下のようになっていました。

name - スクリーンショットのファイル名の先頭を変更 --- 不要
type - スクリーンショットのファイルフォーマットの変更 -- 不要
location - スクリーンショットの保存場所の変更 -- 必要
disable-shadow - ウインドウを撮った時に影付きにするかどうか -- 必要

属性によってちがうようですね。

それから、Snow Leopardでは必要なのかもしれませんが、今確認できないので来週確認したいと思います。自分でも同じような記事を書いているので、自戒の念も込めて。
[追記: 2013-02-05] Snow Leopardでは、killall SystemUIServerは必要でした。Lionはすぐ検証できる環境がないのでわかりません。誰か確かめてもらえるとうれしい。

2013年1月26日土曜日

Safariでユーティリティを使わずに縦長のページを1枚のPDFや画像にする

Safariなどのウェブブラウザでページを表示すると縦長になって一画面や1ページに収まらない場合がありますね。1画面に収まる方が少ないですね。
そういうページを資料やブログに入れるときに、1枚の画像やPDFに変換したい必要があります。その場合、専用のプラグインやユーティリティを使うと思います。

今回は、ユーティリティなどを使わずに1枚の画像やPDFにする方法を書きます。
完璧ではありませんが、それなりに使えるかと思います。ユーティリティがブラウザのバージョンアップに追いつかず動作しない場合や、有料のものには手を出したくない、プラグインなどをいろいろ入れたくないといった人には使えるかと思います。

長所としては、無料である、特別なソフトウェアを使用しない、また、一旦PDFにしますので、スクリーンショットと違い中のテキストを検索できるというメリットもあります。
一方、短所としては、手順が少し面倒なこと、ウインドウのタイトルバー等が入らないこと、縦に長いページだ少し時間がかかるといったところでしょうか。

考え方と全体の流れ

ここでは、Safari 6で、印刷用紙サイズA4で説明します。
考え方としては、画面が1ページに収まるような、縦に長い仮想の用紙を定義して、それをPDFとしてプリント画面から保存するというやり方です。
操作の流れは以下の通りです。

  1. 変換したいページを表示
  2. プリントダイアログを表示、詳細表示に変更
  3. 用紙サイズ、ページ数を確認
  4. カスタムサイズの選択と調整
  5. PDFで保存

では、順番に説明します。

変換したいページを表示

ここではグーグルのページを例に示します。1画面に収まらなければ何でもかまいません。


プリントダイアログを表示

Safariのファイル -> プリント... メニューからプリントダイアログを開きます。

もし、詳細表示になっていない場合は、詳細ボタンを押して詳細表示にします。


用紙サイズ、ページ数を確認

用紙サイズは、ここでは説明の都合上、A4と仮定します。実際には他の設定でもかまわないと思います。

印刷ダイアログボックスでページの縦横の長さ、ページ数を確認します。
上の例では、 A4で、横210mm、縦297mmとなっています。
またページ数は、印刷画面のプレビューの下の1/2の分母が2なので2ページですね。

カスタムサイズの選択と調整

用紙サイズメニューのA4の部分をクリックすると、「カスタムサイズを管理...」メニューが一番下に出てきますので、それを選びます。
そうすると、次のような画面が出てきます。
私の場合は、既にLongやはがき縦がありますが、通常はないと思います。その一番下の「+」記号を選んで新しい用紙サイズを設定します。
名称未設定を別の名前(ここではテスト)にして、縦、上下左右の余白を変更します。横の長さはそのままにして、余白は、問題なければ0mmでいいと思います。
縦の長さは、先ほどA4の場合で、2ページとなっていましたので最大A4の2倍を設定すればいいのですが、下にできる余白が気に入らない場合は、印刷プレビューを見ながら調整するといいです。
ここでは、以下のように2ページ分の長さ(594mm)より短く475mmにしてみました。
印刷プレビューは、次のような感じになります。
多少、下部に余白が見えますがいい感じですね。

PDFで保存

プリントダイアログの左下の「PDF」というプルダウンメニューを押して、「PDFとして保存...」を選びます。
後は、ふつうにPDFとして保存して終了です。ページの長さによっては多少時間がかかりますので、ゆっくり待ってください。
このページの先頭のサムネイルのような長いPDFが保存されますので、用途によってGIFに変換するといいと思います。
PDFのままでも、普通のスクリーンショットと違い、中身のテキストをプレビューやSpotlightで検索できるので便利だと思います。

2012年10月14日日曜日

スクリーンショットのこと

ブログを書きはじめてスクリーンショットをよく撮るようになりました。
だんだん覚えているところですが、忘れないように自分の使っている方法をまとめたいと思います。


キーボードショートカットでスクリーンショットを撮る方法


command + shift + 3
画面全体のスクリーンショットを撮ることができます。
デフォルト設定では、ファイル名は、スクリーンショット(yyyy-mm-dd hh.mm.ss).png になります。yyyy-mm-dd hh.mm.ssの部分は、2012-10-14 9.12.56のような日付と時間になります。
保存場所は、デスクトップフォルダです。画像のフォーマットはPNGです。
これらのデフォルトは変更可能です。(後に変更方法を書きます。)

command + shift + 4
アプリケーションやフォルダのウィンドウ単位でのスクリーンショットや、マウスで選択した範囲のスクリーンショットを撮ることができます。
キャプチャーしたいウィンドウを選択した状態
キャプチャーしたい範囲を選択した状態


アプリケーションでスクリーンショットを撮る


Macに標準でついてくるアプリケーションでスクリーンショットを撮ることができます。
「プレビュー」と「グラブ」があります。
メニューとQuicksilverによるアイコンを出しておきます。
プレビュー

グラブ

アプリケーションを使う方法は覚えた頃は使っていましたが、今はあまり使っていません。ほとんどキーボードショートカットを使っています。マウスポインタなどを入れたい場合は、次のターミナルコマンドを使っています。


ターミナルコマンドでスクリーンショットを撮る


Mac OS Xには、screencaptureというスクリーンショットを撮るためのコマンドが用意されています。
いろいろオプションはありますが、私はマウスポインタを取りたい時に使っています。
デフォルトの画像フォーマットはPNGです。
基本形 (画面全体を撮る)
screencapture ファイル名.png
基本形 (ウィンドウを撮る)
screencapture -w ファイル名.png
基本形(選択した範囲を撮る)
screencapture -s ファイル名.png
5秒後にスクリーンショットを撮る
screencapture -T 5 ファイル名.png
5秒後にマウスポインタの入ったスクリーンショットを撮る
screencapture -T 5 -C ファイル名.png


スクリーンショットのデフォルト設定を変更する


スクリーンショットを撮る場合のデフォルト値を変更することができます。
ターミナルのdefaultsコマンドを使います。
なお、defaultsで変更したらその後、SystemUIServerを再起動しないと有効になりませんので注意してください。
killall SystemUIServer

- スクリーンショットの保存場所を変更できます。次の例は、保存先をダウンロードフォルダにしています。
defaults write com.apple.screencapture location ~/Downloads

- ウィンドウのスクリーンショットを撮る際に、影を入れるか入れないかを設定できます。次の例は、影を入れないようにしています。
defaults write com.apple.screencapture disable-shadow -boolean true

- 画像フォーマットを変更できます。私は、PNGのままでプレビューなどで変換しています。
defaults write com.apple.screencapture type [jpg|gif|png|tif|pdf...]