LoginSignup
3
5

More than 5 years have passed since last update.

クリップボードにあるイメージを一瞬でモザイク加工する

Posted at

はじめに

macのプレビュー機能でモザイク加工ができないので、なんか簡単に秒でできる良い方法がないかとググっていたら見つけたのでメモ!
クリップボードにコピーしたイメージを、モザイク加工して再度クリップボードにコピーするSwiftコードです。

Before After
taiho_rouya.png image.png

①クリップボードにイメージをコピーする

  • 全体: Shift + Ctrl + ⌘ + 3
  • 任意箇所: Shift + Ctrl + ⌘ + 4

②XcodeでRunする

  • もしなければ、AppStoreからXcodeをインストールしてください。
    スクリーンショット_2019_03_19_18_25.png

  • macOSのBlankを選択
    スクリーンショット_2019_03_19_18_26.png

  • 名前と保存先はいつでも使える場所に!

  • 以下のコードを貼り付ける


import Cocoa
import CoreImage

let pb = NSPasteboard.general;
let readData = pb.data(forType: NSPasteboard.PasteboardType.tiff)

if( readData == nil ){
  print("クリップボードへ写真・画像をコピーしてください。")
  exit(1)
}

let filter = CIFilter(name: "CIGaussianBlur")
let cbImage = CIImage(data: readData!)
let mosaic = 10.0; // 数値が大きいほどモザイク強

filter?.setDefaults()
filter?.setValue(cbImage, forKey: "inputImage")
filter?.setValue(mosaic, forKey: "inputRadius")

let outputImage = filter?.outputImage
let cropRect = CGRect(origin: CGPoint(x: 0, y: 0), size: cbImage!.extent.size)
let bmImage = NSBitmapImageRep(ciImage: outputImage!.cropped(to: cropRect))

pb.clearContents();
pb.setData(bmImage.tiffRepresentation!, forType: NSPasteboard.PasteboardType.tiff)

print("完了")

モザイク加工_playground.png

③貼り付ける

  • ⌘ + V

さいごに

  • うまくいかなかったらXcode再起動してください。
  • エラーしたらfixしてください。
  • OSとバージョンで多少記述方法変わります。

参考

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5