Macでスクリーンショット

教材を作るときにスクリーンショットを撮って加工するのですが、以下のような作業が必要になります。

  • 線や矩形で部分を強調表示する
  • 注釈を付ける
  • 大きさに統一性を持たすためにウィンドウサイズを同じにする。

ということで、上記の要件を満たすアプリを探すことにした。Chat GPTとWebで調べながら次の3つに絞り込んだ。

アプリ名価格対応OS主な特徴
Flameshot無料Windows, Mac, Linuxオープンソース。軽量でカスタマイズ性が高い。注釈やぼかし機能、スクリーンショットの編集機能が充実。
Shottr無料Mac高速動作で軽量、注釈やぼかし、スクリーンショットからテキストを抽出するOCR機能を搭載。
CleanShot X$29Mac録画も可能。クラウド共有、スクロールキャプチャ、GIF作成、録画の高度な編集が可能。

調べてみた感じ、CleanShotXが一番良さそうだが、今のレートで換算すると4,500円!しかも1年間のみのバージョンアップ権利しかないという…。高機能でUIも良さそうだけど、ちょっと高すぎる。

FlameshotはオープンソースでWindowsでもMacでもいけるから良さそうなのだが、図形描画があまり綺麗ではないので、できたら避けたい。

ということで、消去表でShottrになった。とはいえ、使ってみたら注釈も美しく追加できるし、拡大縮小などの操作もスムーズで、使用感はとても良かったので、スクリーンキャプチャーソフトはShottrに決定!

スクリーンキャプチャーソフトにウィンドウサイズを指定して変更するような機能はないので、これはスクリプトを作ることにした。Chat GPTに教えてもらって下記のものが出来上がった。

ウィンドウサイズは「Quad-VGA 1280×960 4:3」にした。理由はScratchがそのくらいの画面サイズを想定して作られているから…というのと、このくらいの解像度であれば大方のPCは満たしていると思われるから。画面比率の主流は16:9ではあるが、昔からのアプリは4:3想定が多いので。

tell application "System Events"
	set runningApps to (name of every process where background only is false)
end tell

-- アプリを選択
set selectedApp to choose from list runningApps with prompt "操作するアプリを選択してください:"

if selectedApp is false then
	display dialog "キャンセルされました。" buttons {"OK"} default button "OK"
else
	-- 選択されたアプリを操作(例: ウィンドウサイズ変更)
	set appName to item 1 of selectedApp
	tell application appName
		if (count of windows) > 0 then
			-- Quad-VGA	Quad-VGA	1280×960	4:3	
			set bounds of front window to {100, 100, 1280, 960}
			-- set bounds of front window to {100, 100, 1920, 1080}
			-- set bounds of front window to {100, 100, 1920, 1200}
			-- set bounds of front window to {100, 100, 1920, 1080}
		else
			display dialog appName & " に開いているウィンドウがありません。" buttons {"OK"} default button "OK"
		end if
	end tell
end if

コメントする