はてなブックマークに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はてなブックマークに追加

Sketch Camera

鉛筆でスケッチしたかのような画像に変換してくれる
Sketch Cameraの紹介です。

sketch.jpg

難しい操作は一切なく、
カメラをかざすだけで、上のような写真にリアルタイムで変換してくれます。

「リアルタイム」というところが肝。
普通にSobelフィルタを2方向で使うと、すごくモッサリする気がする
といって、Cannyでここまで綺麗に抽出できたっけ??

と技術的に不思議がいっぱいな無料ソフト(笑)
とりあえず出来栄えは折り紙付きです。
つけたのは僕だけどね。

あー、どうでもいいこと気になった。
なんで、付けるのは折り紙なんだ?
まぁ、「保証書付き」つったら語弊ありまくりだがー(笑)
スポンサーサイト
はてなブックマークに追加

UIScrollViewの使い方 その4



サイトを移行しました。
iPhoneアプリと、そのプログラム



ここまでの3回の説明で、画像のスクロールと拡大縮小を
行うことが出来るようになりました。

UIScrollViewの使い方 その1
UIScrollViewの使い方 その2
UIScrollViewの使い方 その3

今回は、iPhoneの画面がタップされた時に
その座標を表示するプログラムを作ってみたいと思います。


こう書くと簡単そうなのですが、
意外や意外、これが結構めんどくさいのです。


もう一度UIScrollView その1で使った絵を
もう少し、正確に書いたものを書いてみます。
UIScrollView8.jpg


基本的には、ユーザのタッチイベントを取得するのは
一番下側のViewで行うのですが、この図からもわかるように
上側にScrollViewがのっかってしまっているために
タッチイベントがこれに邪魔されて一番下側のViewにまで降りてこないのです。
そこで、タッチイベントがScrollViewを透過してくるように設定します。

この設定は簡単で次の一行をviewDidLoad関数の中に記述するだけです。
scrollView.userInteractionEnabled = NO;	


IBでも同様の設定項目があるので、こちらで設定してもOKです。
UIScrollView9.jpg

ようは、scrollViewは画面がタッチされても無視しますよ~、と
宣言しているだけです。


さて、これで下側のViewがタッチイベントが取得できるようになりました。
タッチイベントを取得するにはtouchesBegan:withEventコールバックを使います。
この関数の中で、タッチされた座標の配列から1つを取り出し
scrollViewにおける座標系に変換して、touchPosに代入して表示ています。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint touchPos = [touch locationInView:scrollView];
NSLog(@"%f, %f", touchPos.x, touchPos.y);
}


これで準備は整いました。早速コンパイル&実行してみましょう。
iPhoneの画面上をタップするごとに、コンソールに座標が表示されれば成功です。

と。ここまでは良かったのですが、問題発生です。
なんと!スクロールができなくなってしまったのです。。
ScrollViewのユーザインタラクションをOFFにしたのですから、
当たり前っちゃぁ、当たり前なんですけどねぇ。

ここまでのプロジェクトをココに置いておきます。
scroll3.zip


次回はこの問題を解決します。
UIScrollViewの使い方 その5
はてなブックマークに追加

iPhoneアプリ成功の法則

iPhoneアプリ成功の法則
日経BP社出版局
日経BP社
売り上げランキング: 13046


どのようにしたら、iPhoneアプリで3億円かせげるのか?
を書いた本。

「んなもん、普通は無理だよタコ(笑)」

とは書いてなかった。
誰か責任持って書こうよ(笑)
アプリで家は建たないとは書いてあったけど>TiltShiftの人


書いてある通りにやって
成功するなら全員ハッピーだもんなぁ。


一番気になっていた、
自分のアプリがAppStoreのランキング外に落ちたとき
どうやって再び露出を上げるのか?に対する明確な答えは
書いていなかった(ちぇっ)


僕も今はこの方法を色々と実験中。
iPhone peopleのような雑誌に載ったぐらいじゃ
売り上げには全く影響しないのは検証済み。
現状の結論はPVの高いHPをつくるか、
金に飽かして、Googleアドセンスを利用するか、ですね。
Twitterの効果ってイマイチ分からん~。


この前のグーグルの本じゃぁないけど、
あちら側での商売をしていると、
いやでもアテンションエコノミってのを実感しますよぉ。

はてなブックマークに追加

UIScrollViewの使い方 その3



サイトを移行しました。
iPhoneアプリと、そのプログラム



前回のプログラム
UIScrollViewの使い方 その2
までで、UIScrollViewを使って画像をスクロールするところまで出来るようになりました。

次は、画像の拡大縮小機能を実装してみます。
まずはヘッダファイル内でUIScrollViewDelegateプロトコルに準拠します。
三角カッコで囲まれたところが、その部分です。
プロトコルに準拠って何?ってかたはこちら
Objective-Cのプロトコル


SampleViewController.h

@interface ScrollViewController : UIViewController
<UIScrollViewDelegate>
{
IBOutlet UIScrollView *scrollView;
UIImageView *imageView;
}


SampleViewController.h

- (void)viewDidLoad {
[super viewDidLoad];

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.jpg"]];
[scrollView addSubview:imageView];
[imageView release];

scrollView.contentSize = imageView.frame.size;
scrollView.delegate = self;
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 4.0;
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)_scrollView
{
return imageView;
}



viewDidLoad関数内でscrollViewのデリゲートを
自分のクラス(sampleViewController)に設定しておきます。
また、minimumZoomScaleとmaximumZoomScaleで、拡大縮小のリミット値を設定しています。

あとは、デリゲート関数viewForZoomingInScrollViewで、
拡大縮小したいViewを返せば完成です。

さっきからデリゲート、デリゲートって言っとるけど
デリゲートって何やねん!ぉらぉらって人はこちら
Objective-Cのデリゲート


ここまで記述できたら、コンパイル&実行してみましょう。

UIScrollView7.jpg

画面上でピンチイン、ピンチアウトするとそれにしたがって画像が拡大縮小します。
うまくいかなかった場合にはデリゲートが適切に設定されているか、
もう一度確かめてみてください。

ここまでのプロジェクトをココに置いておきます。
参考にしてみてください。
scroll2.zip


次回は拡大縮小と座標の対応について説明します
UIScrollViewの使い方 その4


開発アプリ

iDOF 色影 ラテアート ぱすてる

プロフィール

Author:hokuson
京都在住。iPhoneアプリ「色影」や「iDOF」の開発者。アプリのレビューとかもしてみる。博士後期課程@R大学。ついに就職活動なるものをしなければいけないらしい。誰か雇ってください。笑。

カレンダー
09 | 2010/09 | 10
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
カテゴリ
最新コメント
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。