Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ngoc Dao
410 views
スポイトができるまで
Capture video on iPhone
Self Improvement
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PPTX
M5StickC M5StickVを使った簡易監視装置を作ってみる
by
tomitomi3 tomitomi3
PDF
UE4 アセットロード周り-アセット参照調査-
by
com044
PPS
Milan Pištalo - E-probanking
by
biZbuZZ
DOCX
ショベルカー創作記録 萩原
by
wakasoukai
PDF
Jetpackをざっくり紹介
by
Yuki Kokubo
PPTX
高砂 一人でロ○□×風味
by
Masaaki Takasago
PDF
モデルが修正されるサイクル
by
nishio
PPT
Alta Vista Photos
by
Bill Pugsley
M5StickC M5StickVを使った簡易監視装置を作ってみる
by
tomitomi3 tomitomi3
UE4 アセットロード周り-アセット参照調査-
by
com044
Milan Pištalo - E-probanking
by
biZbuZZ
ショベルカー創作記録 萩原
by
wakasoukai
Jetpackをざっくり紹介
by
Yuki Kokubo
高砂 一人でロ○□×風味
by
Masaaki Takasago
モデルが修正されるサイクル
by
nishio
Alta Vista Photos
by
Bill Pugsley
Similar to スポイトができるまで
PDF
iPhoneカメラアプリ開発入門(第1回)
by
Takashi Ohtsuka
PPT
UIImagePickerController よもやま話
by
Kei Kusakari
KEY
iOSプログラマへ。HTML5 Canvasがおもしろい!
by
cocopon
KEY
I phonedevws20121028ci filter
by
ZuQ9Nn
PDF
[iOS 8] iOS8勉強会 PhotoKit
by
Shingo Hiraya
PDF
iOS 10 new Camera
by
Gaprot
PDF
Saitama beginner tips50
by
Tomohiko Okita
iPhoneカメラアプリ開発入門(第1回)
by
Takashi Ohtsuka
UIImagePickerController よもやま話
by
Kei Kusakari
iOSプログラマへ。HTML5 Canvasがおもしろい!
by
cocopon
I phonedevws20121028ci filter
by
ZuQ9Nn
[iOS 8] iOS8勉強会 PhotoKit
by
Shingo Hiraya
iOS 10 new Camera
by
Gaprot
Saitama beginner tips50
by
Tomohiko Okita
More from Ngoc Dao
PDF
Model with actors and implement with Akka
by
Ngoc Dao
PDF
Camellia General
by
Ngoc Dao
PDF
How to write a web framework
by
Ngoc Dao
PDF
Xitrum HOWTOs
by
Ngoc Dao
PPTX
Xitrum internals
by
Ngoc Dao
ODP
SockJS Intro
by
Ngoc Dao
ODP
Easy distributed load test with Tsung
by
Ngoc Dao
ODP
Xitrum @ Scala Conference in Japan 2013
by
Ngoc Dao
PPT
Nhập môn BDD
by
Ngoc Dao
PDF
BIG DATA サービス と ツール
by
Ngoc Dao
PDF
Xitrum @ Scala Matsuri Tokyo 2014
by
Ngoc Dao
PPTX
Cloud Erlang
by
Ngoc Dao
PDF
Develop realtime web with Scala and Xitrum
by
Ngoc Dao
PPT
Những lỗi bảo mật web thường gặp ở phần application
by
Ngoc Dao
PPTX
Actor-based concurrency and Akka Fundamentals
by
Ngoc Dao
ODP
How to start using Scala
by
Ngoc Dao
PPTX
I18nize Scala programs à la gettext
by
Ngoc Dao
PPT
Nitrogen Web Framework
by
Ngoc Dao
PPT
何でRuby
by
Ngoc Dao
PPT
Erlang Web
by
Ngoc Dao
Model with actors and implement with Akka
by
Ngoc Dao
Camellia General
by
Ngoc Dao
How to write a web framework
by
Ngoc Dao
Xitrum HOWTOs
by
Ngoc Dao
Xitrum internals
by
Ngoc Dao
SockJS Intro
by
Ngoc Dao
Easy distributed load test with Tsung
by
Ngoc Dao
Xitrum @ Scala Conference in Japan 2013
by
Ngoc Dao
Nhập môn BDD
by
Ngoc Dao
BIG DATA サービス と ツール
by
Ngoc Dao
Xitrum @ Scala Matsuri Tokyo 2014
by
Ngoc Dao
Cloud Erlang
by
Ngoc Dao
Develop realtime web with Scala and Xitrum
by
Ngoc Dao
Những lỗi bảo mật web thường gặp ở phần application
by
Ngoc Dao
Actor-based concurrency and Akka Fundamentals
by
Ngoc Dao
How to start using Scala
by
Ngoc Dao
I18nize Scala programs à la gettext
by
Ngoc Dao
Nitrogen Web Framework
by
Ngoc Dao
何でRuby
by
Ngoc Dao
Erlang Web
by
Ngoc Dao
スポイトができるまで
1.
スポイトができるまで アイデアがAppStoreに並ぶまで Hiroyuki‐Fujikawa. (cqa02303)
2.
アイデア段階 • Webで使うカラーコードって直感的に分からん • 逆に色見てコードにするのはもっと大変 •
カメラってRGBにして保存するよね • カメラって写真だけじゃないよね – バーコードリーダーとかあるし → カラーピッカー欲しいなぁ(漠然とした想い)
3.
きれいなカメラ • UIImagePickerController – UIView.subviews – [UIView removeFromSuperView:] → 一瞬見えるゴミが駄目!使えない!
4.
きれいなカメラ(リベンジ) • PLCameraController – Norio Nomuraさんが一瞬で調べた物 – 成果を知らずに自力で調べてたよ (ガーン)
5.
カメラの呼び出し方 • Classをclassと思わない傍若無人な関数が! objc_getClass();
// クラス取得 objc_msgSend(); // メソッド呼出し object_setInstanceVariable(); // クラス変数設定 – ダミー継承クラス要らないじゃん! – 面白いから、全部そういう書き方にしてみる
6.
PLCameraController呼出し // id camera = [PLCameraController sharedInstance]; id klass = objc_getClass("PLCameraController"); id camera = objc_msgSend(klass, @selector(sharedInstance)); // camera._cameraLayer = cView.layer; object_setInstanceVariable(camera, "_cameraLayer", cView.layer); // camera._previewView = cView; object_setInstanceVariable(camera, "_previewView", cView); // camera._delegate = self; object_setInstanceVariable(camera, "_delegate", self); // [camera _setupCamera]; objc_msgSend(camera, @selector(_setupCamera)); // [camera startPreview]; objc_msgSend(camera, @selector(startPreview)); → PLCameraControllerをロードしていないのでエラー 同 意 味 ー
7.
PLCameraControllerをロードする PrivateFramework/CameraFrameworkに存在 • XcodeのFrameworkに入れる? • dlopen()してリンクする? →両方バレバレじゃないか?
8.
PLCameraControllerをロードする UIImagePickerControllerを呼出せばOK! • このコードすら書くの面倒になった →xibにやらせてしまえ! ここに追加しただけ!!
9.
ビットマップの値取得 • 画面コピー – _createCGImageRefRepresenta`onInFrame: • どなたに教えて教えて頂いたのか忘れてしまいました。 –
(ごめんなさい) • 当時はclass‐dumpを使う事に夢中 • ビットマップ値取得 – CGBitmapContextCreate(); • へにゃ社長(sorasorasoraさん)に教えてもらう
10.
さて、色配列は召し捕った • 細かい計算めんどくさい • ごまかしの手法を検討 – 16 x 16 の領域から平均値取得 (256個だから) – RGBに分解して全部足し算 – 8bit 右シフトで平均値にする – 各RGB値を255.0fで割ってCGFloat化 256個の平均値
: N / 256 = N >> 8 だよね?
11.
カラーピッカー出来た!
12.
でも… つまらないよね
13.
凄いだけじゃ つまらない • 平べったくて見たい所に向けるモノはなに? – 虫眼鏡だ! • 色が分かったらどう見せるか? – 実用的なもの
→ カラーコード – 直感的じゃない → 色も見せる
14.
方針は決まった!
15.
リソースを作成 • 動かしてみる • けど、なんか変だよ! こんなイメージ? ⇒
16.
虫眼鏡が虫眼鏡に見えない • レンズっぽさをつける – 「てかり」があるはず – フチが見えにくいと良い • ハイライトで立体的に – まっすぐ持つだけじゃない •
余計不自然になるし… – それっぽく動くだけでいい • ハイライトを回転させる
17.
重力に従って回転するUIView • 回転はCGAffineTransformMakeRota2on(); – これはCGAffineTransformMake()のラッパ? – Sin() , cos()を削減する為にRota2onは使わない
18.
回転の元ネタはAccelerometer – X−Y方向の値を使用 – 合成ベクトル長を1.0にして回転方向疑似値に 疑似X 疑 似 Y 長さ1の円 加速度の値
19.
カラーコードだけじゃつまらない • 色を吸い取るのに使うのはなに? – スポイトだ! – スポイトは下に向けて吸うよね
20.
• FireWorks大活躍 – 楕円と長方形で構成 • アウトラインの結合 •
グラデーション • 半透明 レイヤーの重なり スポイトらしさの追求 ここの色を 加工して変更
21.
色みほんにも注意を払う • 色みほんの実態はUIView • backgroundColorを変更 ⇒ ただの四角はつまらんがな •
Frontに絵をおけば良いじゃん BG Front
22.
楕円運動はめんどくさい • CoreAnima`onは直線運動 – 直線運動は立体的に見えないんだ
23.
楕円運動はめんどくさい • そもそも吸った後、下向けたら垂れるYO! • 回転運動も追加だ! – 回転+直線運動 でいい動き …錯覚なんだけどね
24.
虫眼鏡は拡大出来なくちゃ • どうやる? – UIViewを拡大するだけ •
入力は? – 傾き? Z軸加加速度? ⇒ 複雑過ぎ • UISliderで実装 – 操作難しすぎ!!! • UISegmentedControlに変更 – しっくり来た! ずれると ダメ!
25.
InterfaceBuilderで定義(View側) 定義する部品 • カメラ画像用View [IBOutlet : カメラへの指示用] • 虫眼鏡 •
ハイライト [IBOutlet : 回転用] • グリップ濃度 [IBOutlet : 濃度調整用] • スポイト移動枠 [IBOutlet : 移動+回転用] – 影 – 着色部 [IBOutlet : 色変更用] – スポイト <独自View指示 : タッチ検知用> – 押しアニメ [IBOutlet : 押しアニメ用] • 色みほん [IBOutlet : 着色用] • (色みほん:右) [IBOutlet : 着色用] • 固定文字 “COLOR” • 色コード:左 [IBOutlet : 変更用] • 倍率ボタン (‐> ac`onのselectorを指示) • 色コード:右 [IBOutlet : 変更用] • スポイト内の色:元画像 [IBOutlet : 加工時の参照用]
26.
InterfaceBuilderで定義(定義側) UIViewで階層構造 1. 背景+虫眼鏡 – その他の情報 2.
スポイト 3. 着色データ ① ② ③
27.
アイコンも大事 • 縮小だけじゃ駄目よ – 虫眼鏡の太さなどを微調整してあります 同じ大きさで比較 アプリアイコン AppStoreアイコン
28.
で、完成 • ここまで3日(PLCameraControllerから) spuIt / スポイト
29.
みんなに楽しんで欲しい • AppStoreに申請してもRejectされるよね? – とりあえず出してウケを狙え! • 元々
受けを狙う為のアプリなんだ →と、言う事で 真澄を呑みながら申請手続きをしました。
30.
なぜか Ready for Sale 考察 • 実は、評価が甘いアプリがある – 独自性のあるアプリ – 必然性のある使い方 – Macで使えるPrivateのうち、iPhoneSDK側のDocに 記述されたAPI •
もしかしたら、見逃してくれたのかも!
31.
おしまい
Download