MILLEN BOX

音楽好きの組み込みソフトエンジニアによるプログラミング(主にiOSアプリ開発)の勉強の記録

端末に保存されているムービーでオブジェクトトラッキング(Vision.Framework)を行う方法

この記事を書いている現在(2018.6.5)WWDC 2018が絶賛開催中ですが、去年のWWDCで発表となったVision.Frameworkのオブジェクトトラッキング機能についてごにょごにょしてみたので備忘録として残しておきます。 以下を参考にしました。 Vision.Framework の…

CVPixelBufferを回転させたい時の話

あんまり役に立つ人はいないかもしれないけど、折角分かった事だから残しておこうと思います。 CVPixelBuffer型の何か(以後pixelBufferとします)を回転させたい場合、これを直接回転させることはできません。 CVPixelBufferをUIImage、CGImage、CIImageの何…

AVPlayerItemVideoOutputを使ってムービーファイルから取得したPixelBufferからムービーの再生させてみた

iOSでの動画の再生方法には以下の3つがありますよね。 UIWebViewを使う AVPlayerViewControllerを使う AVPlayerを使う 番号が大きくなるほど自由度は高くなりますが、難易度は増していきます。 しかしながら今回は上記の方法の何れでもない方法で再生します…

アニメーションしているViewを手軽に録画してムービーとして保存出来るクラスRecViewAnimationを作成・公開しました

お疲れ様です。 タイトルの通りアニメーションしているViewを録画してムービーとして保存出来るクラス、RecViewAnimationを作成しました。 以下にて公開しております。 ▶︎GitHub - anthrgrnwrld/tryRecordingViewAnimation 「アニメーションしているView」っ…

UIView(withアニメーション)からUIImageへの変換する時の注意点

お疲れ様です。 UIViewからUIImageへの変換って割とよく行う処理かと思います。 今まで私は以下みたいなUIViewのExtensionペタッと貼り付けて、任意のタイミングで使用していました。 fileprivate extension UIView { /** 対象のViewをキャプチャしUIImageで…

​ SceneKitについて興味が湧いてきたので少し調べてみた

​ あけましておめでとうございます。 今年もよろしくお願いいたします。 急なのですが今更ながらSceneKitに興味が湧いてきました。 なぜ今更?Unityの方がいいんじゃないの??って声が聞こえてくる。。。 きっかけはコレ。 出来上がったものは何かすごそう…

CADisplayLinkで定期的に処理を実行してみる (swift4)

ちょっと定期的に実行させたい処理があったんです。 そこで今回はCADisplayLinkを使ってみようと思います。 今までも勿論そうゆうのをしている部分はあって、scheduledTimerWithTimeIntervalとかを使ってました。 1分毎とか10秒毎とか、最も短くでも1秒毎と…

tableView(_:didSelectRowAt:) が呼ばれない場合の原因について調べてみた

私、今まで作成したアプリではあんまりTableViewって使ったことないですが、最近久しぶりに触る機会がありました。 ableViewを使用する場合、ViewControllerにUITableViewDataSourceとUITableViewDelegateを追加して、numberOfRowsInSectionやcellForRowAtな…

Swift4 + Xcode9環境にてUIImageViewの画像が表示されなくなっって一瞬戸惑った話

先日初心者の人にiOSアプリの作成方法を軽くレクチャーすることがあったんですよ。 手始めにStoryboardにてUILabelを貼り付けてテキストの内容を変更したり、 それをコードと関連付けしてプログラムでテキスト内容を変化させたり、 UIButtonを追加して、ボタ…

- [UIApplication delegate] must be used from main thread only

前回に引き続きswift4への対応について書きます。 既存アプリに対するマイグレーションを経た一連の対応後、下記のようなエラーが出てきました。 UI API called from background thread: -[UIApplication delegate] must be used from main thread only わっ…

​ #selector がswift4では使えない? → 使えます

​ みなさんiOS11対応してますか? 私はやっとチョビチョビと始めましたよ。 今回はiOS10で動かしていたswift3ソースを初めて開き、自動変換した時にぶつかった疑問をメモしておきます。 Xcode9を起動してswift3以前のソースを開くとXcodeがマイグレーション…

リリースアプリのアップデート

iOSアプリの開発を始めて2年半経ちました。そして5本のアプリをリリースすることができました。 始めた当初はとにかくリリースすることが精一杯。 それに反して溢れてくるアイデアとの折り合いをつけるのがとても大変でした。 なので出したら出しっぱなし。…

swiftでの配列の初期化方法について

本日は配列の宣言についてメモ書きしておきます。 勘違いからミスってしまって解決するまでの流れを書いていきます。 以下みたいな感じでfor文で配列imageArrayにボコボコ値(UIImage型)を入れていきたい場合を考えます。 for i in 0 ..< numberOfPicture { i…

新しいアプリをリリースしました!名前は「ぼかすん」です。

タイトルの通り、新しいアプリをリリースしました! 「ぼかすん」という名前の画像編集アプリでございます。 ぼかすん - 背景ぼかし & 消したい部分を簡単に隠せるMasaki Horimoto写真/ビデオ無料 関西弁です。「ぼかすやつ」という意味になります。 指でな…

UIButtonにセットした画像のcontentModeが効かない?そんな時の対処方法

お久しぶりの更新です。 通常はいつもMacを使って更新するんですが、実験的にiPhoneのはてなブログアプリからアップしてみます。お見苦しい点ありましてもお許し願いたい!! UIButtonにセットしたUIimageViewの画像のcontentModeが効かない問題 ある日、リ…

try! Swift Tokyo について

とても行きたいイベントがあります。「try! Swift Tokyo」です。 恐らく日本で開催されるSwiftのイベントでは最大のものと思われます。 Swiftのフジロックみたいなもんでしょう。 本日は try! Swift Tokyo について、私のような若輩者目線で書かせて頂こうと…

「ポーン - プロフェッショナルな名言をカウントしよう」をリリースしました

2016/12/21に新しいアプリをリリースしました。 名前は「ポーン - プロフェッショナルな名言をカウントしよう」です。 お友達が名言を言った際にあの「ポーン」音を鳴らし、これによりドヤ感を演出することが出来ます。 また会話の中で何回名言を発言したの…

UIDocumentInteractionControllerを使ってOption Menuを表示する [UIDocumentInteractionController] [share] [swift2.3] [swift3]

前回はInstagramへの投稿をやりましたが、今回は何でもアリのUIDocumentInteractionControllerを使用したOption Menuを表示する方法をメモしておきます。 こんなやつです。 Githubは以下です。 ▶︎GitHub - anthrgrnwrld/drawWithExpand 1. UIDocumentInterac…

URLスキームを使用してInstagramの投稿ボタンを作成する [UIApplication][share][Photos.framework][swift2.3][swift3]

作成中のアプリでInstagramへの投稿ボタンを付けたいと思いました。 しかし、以前Twitter, Facebookへの投稿機能をSocial.frameworkはInstagramへの投稿機能はありません。 anthrgrnwrld.hatenablog.com 調べたところ、Instagramへの投稿をする方法は大きく2…

swiftでグラデーションがかかったViewを作成する[CAGradientLayer][swift3.0]

今回はグラデーションがかかったViewを作成したいと思います。 現在作成中のアプリで使っていたのですが、ちょっといらないかも...と感じまして、消してしまう前に記録に残しておきます。 githubは以下です。 ▶︎GitHub - anthrgrnwrld/gradationView コード…

UIImageの角を丸くするExtension [swift2.2] [UIImage] [CGContextClipToMask]

UIImageの角を丸くしたいと思います。 ネットでザクッと検索をかけると、UIImageViewのCALayer -> cornerRadiusをイジイジすることで実現する方法が多かったのですが、UIImage自体で角を丸くする方法はあんまり出てこなかったので。 とは言いながらやはりネ…

SwiftでUISliderのデザインをカスタマイズする方法 [UISlider] [swift2.2]

今回はUISliderのデザインをカスタマイズする方法を残しておきます。 Githubは以下です。 GitHub - anthrgrnwrld/customSlider また今回は、Objective-Cで書かれた以下のページを参考に Storyboard + Swift で作成しました。 lab.dolice.net ポイント & コー…

UIImageとCGImageの違いでハマったこと [pixel] [point] [swift2.2]

以前、UIImageから一部を切り取る方法について本ブログにて書かせて頂きました。 anthrgrnwrld.hatenablog.com ザクッと方法を説明しますと、targetとなるUIImageをCGImageへ変換し、そのCGImageと切り取るrectを指定し、 CGImageCreateWithImageInRect を使…

swiftのzip関数で二つの配列の組み合わせを作成する [swift2.2] [Zip2Sequence]

swiftにはzipという関数で、二つの配列を組み合わせた構造体(のようなもの)を作成することが出来ます。 下の例のコードでは、ランダムなInt型の配列array1とString型の配列array2を組み合わせ、zippedArrayという組み合わせを作成したものです。 let array1 …

swiftで乱数を生成する [swift2.2]

swiftで乱数を発生させる方法についてのメモ。 random() とか arc4random() とか他にも色々ありそうだし、結局何を使えばいいの? て事で調べました。

Swiftでお絵描きアプリを作成する(第4回UIImageのカメラロールへの保存) [Array][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 今回で本シリーズは最終回です。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前々々回済み) ペンの色、太さが変更可能!(前々回済み) Redo/Undoが可能!(前回済み) 描いた絵の保存が可能!(…

Swiftでお絵描きアプリを作成する(第3回Redo/Undoの実装) [Array][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前々回済み) ペンの色、太さが変更可能!(前回済み) Redo/Undoが可能!(今回) 描いた絵の保存が可能!(次回以降) 前々回はお絵描き部分の実装、前…

Swiftでお絵描きアプリを作成する(第2回ペンの色・太さを変更可能にする) [UISlider][UIButton][UIBezierPath][swift2.2]

前回に引き続きお絵描きアプリを作成しようと思います。 作成するお絵描きアプリの機能は以下! 拡大が可能!(前回済み) ペンの色、太さが変更可能!(今回) Redo/Undoが可能!(次回以降) 描いた絵の保存が可能!(次回以降) 前回は拡大可能なお絵描き部分を作…

Swiftでお絵描きアプリを作成する(第1回お絵描きの実装) [UIScrollView][UIGestureRecognizer][UIBezierPath][swift2.2]

現在作成中のアプリでお絵描き部分の実装しておりまして、その記録を記事として残しておこうと思います。 計3回くらいでまとめようと思っています。 少し高機能な部分はこんな感じ! 拡大が可能! ペンの色、太さが変更可能!(次回以降) Redo/Undoが可能!(…

UIImageを塗りつぶしてみよう [UIImage]

ふとUIImageを塗りつぶしたいと思ったのですがちょっと詰まった為、以下にメモを残しておきます。 以下の記事をがっつり参考にしました。 qiita.com ソースを以下に貼っておきます。 func fillColorWithUIImage(image: UIImage) -> UIImage { let imageSize …