macOS 画面動画Gif変換

macOSのショートカットを使えばスクリーンショットや画面を動画として収録できます。

画面全体のスクリーンショットの場合キーボードの[ ⌘ + シフト + 3 ]

範囲指定画面スクリーンショットの場合キーボードの[⌘ + シフト 4]

mac画面の動画を収録する場合キーボードの[⌘ + シフト + 5]

キーボードの[⌘ + シフト + 5]を同時に押すとスクリーン下部に下のような画面が表示されいます。

画面全体を指定するとmacのスクリーン全体が収録されいます。範囲指定を選択するとスクリーンに範囲を選択できる枠が表示されますのでマウスを使って調整します。

画面指定したあと、スクリーン下の[収録]をクリックするとスクリーン範囲指定した動画収録できます。

画面収録中は、下のようなスクリーン上のメニューバーに(■)ボタンが出ています。収録を終了したい場合はその(■)をクリックします。

収録した動画はデスクトップに保存されています。「画面収録 yyyy-mm-dd hh.mm.ss.mov」

動画ファイルを動画GIFに変換します。

Mac App Storeに「Gifted」というアプリがあるので下記URLからインストールします。

https://apps.apple.com/jp/app/gifted/id771955779?mt=12

Giftedをクリックすると下のような画面で出てきますので 作成した画面収録動画ファイルをドロップします。

動画ファイルをドロップできたら[Start]をクリックします。

動画GIF変換が完了すると「 /Users/ユーザー名/Pictures/Gifted 」の中に出力された動画GIFが入っています。

Swift コレクションタイプ Set<Element>

SwiftSet

SwiftのコレクションにはSet<Element>があり、SetはArrayとはまったく違う機能を持っています。Set<Element>の代表的な特徴を、ふれてみます。まずは、Setに[1,1,1,1]を入れて確認してみる。

let set1: Set<Int> = [1, 1, 1, 1]
print(set1.count)  // 1
print(set1)        // [1]

上のコードを実行するとset1の中は[1]が1つしか入っていません。Set<Element>は、同じ内容であれば1つにまとめてしまうようです。

let set1: Set<Int> = [1, 2, 1, 2]

上記のような[1,2,1,2]であれば結果は[1,2]の2つが入ることになり配列順番はバラバラです。どうやら都合よく一纏めにしてくれるようです。

Set<Element> 追加・削除

追加や削除に関しては、Array<Element>と同じように行なえます。

var set1: Set<Int> = [1, 2, 1, 2]
set1.insert(3)    // 3を追加
set1.remove(1)    // 1を削除
print(set1.count) // 2
print(set1)       // 3,2が入る

Set<Element> 内に値が含まれているか判断

Set内に目的の値が含まれているかを判断したい場合、containsを使って下記のような記述でできます。

var set1: Set<Int> = [1, 2, 1, 2]
print(set1.contains(2)) //true

Set同士の比較

2つのSetがあった場合の比較したい場合、isSubset, isSuperset, isDisjointが使えます。

let set1: Set<Int> = [1, 2, 3, 4]
let set2: Set<Int> = [1, 3]
print(set2.isSubset(of: set1)) //true

上記のisSubsetは、set2の中にset1が入っているか確認できます。isSupersetはその逆でisDisjointは、要素が入っていない場合trueを返します。

let set1: Set<Int> = [1, 2, 3, 4]
let set2: Set<Int> = [1, 3]
let set3: Set<Int> = [5, 10]
print(set1.isSuperset(of: set2))  //true
print(set2.isDisjoint(with: set3)) //true

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED