Macにはペイントのようなペイントツールがない
「ブログに載せる画像にモザイクをいれたいな〜」と思っても、Macにはウィンドウズのペイントのような機能がありません。簡単な画像加工であれば「ピクチャ」でできますが、「ピクチャ」にはモザイク機能が付いていません。「Xcode」という開発ツールを使って「ピクチャ」でモザイク加工を入れる方法を解説します。
なるべく使うツールは少なくしたいので、「新たにペイントツールをインストールするのもなんだかな…」というときに使えるのが、「Xcode の Playground」を使って「ピクチャ」でモザイクをかける方法です。
Macに標準搭載されているツールでモザイクを入れる方法
- App Storeから「Xcode」をインストールします。
- ダウンロードしたXcodeを開き、「get started with a playground」を選択します。
- 「Blank」を選択し、保存先を選びます。
- 以下のコードを記入します。
- 変更を保存します。
- 「ピクチャ」を開き、モザイクをかけたい部分を選択し、[Command+C]でクリップボードにコピーします。
- Playgroundで作成した「モザイク」の実行ボタンをクリックします。
- 「ピクチャ」に戻り、[Command+V]でペーストします。
- モザイクの位置を調整して完了です。
// ここから
let ぼかし具合 = 10.0 ; // デフォルト 10.0 数値が大きいほどぼかし効果が高くなります。
let pbCopy = true
import Cocoa
import CoreImage
let pb = NSPasteboard.general;
let readData = pb.data(forType: NSPasteboard.PasteboardType.tiff)
if( readData == nil ){
print("クリップボードへ写真・画像をコピーしてください。")
exit(1)
}
var ciクリップボードイメージ = CIImage(data: readData!)
let nsimage = NSImage(data: readData!)
let filter = CIFilter(name:"CIGaussianBlur")
filter?.setDefaults()
filter?.setValue(ciクリップボードイメージ, forKey:"inputImage")
filter?.setValue(ぼかし具合, forKey:"inputRadius")
let outputImage = filter?.outputImage
let cropRect = CGRect(origin: CGPoint(x:0,y:0), size: ciクリップボードイメージ!.extent.size)
let bmImg = NSBitmapImageRep(ciImage: outputImage!.cropped(to: cropRect))
if( pbCopy ){
pb.clearContents();
pb.setData(bmImg.tiffRepresentation!, forType: NSPasteboard.PasteboardType.tiff)
}
//ここまでをコピーしてください
参考:Qiita
その他のおすすめツール
画像編集ソフトの「Photoscape」を使うようになって、こちらでもモザイク加工を入れることができました。「Photoscape」は、モザイクの荒さなども細かく調節することができますが、「Xcode」でモザイク加工処理をする方法では素早く処理を終わらせることができます。
リンク