ビデオのメモ
グラフィック関連ではUIKit Graphics、Quartz 2D、Core Animation、OpenGL ES、Media Player、Core Audioの6つを利用できます。
UIKitのGraphicsは画面切り替えなどのアニメーションも含む2Dのユーザインタフェースを作り、Quartz 2Dは低レベルの2D描画、Core Animationはアプリケーションなどのアニメーション、OpenGL ESはゲーム用、Media Playerは動画再生、Core AudoとOpen ALは音声と役割を担っています。
UIKit Graphicsの主なClassは以下の通りです。
UIImage - イメージデータのクラス
UIImageView - インタフェースにイメージをいれたり、スライドショーのイメージを入れる
UIColor - 装置の色関連
UIFont、UILabel - 文字処理関連
UIScreen - スクリーン関連
他にユーティリティ関数がある。
低レベルのグラフィック処理を担当するQuartz 2Dでは、点や線、曲線、四角などはCGPathRefで扱い、四角の塗りつぶしはCGGradientRef、CGImageRefはPNGを中心にしてTIFF、JPEG、GIF、BMP、ICO、CUR、XBMを扱い、CGPDFDocumentRefはPDFを扱っています。
Core Graphicsで緑の枠に青い四角を描く描画サンプルです。
- (void) drawRect:(CGRect)rect
{
CGContextRef myContext = UICurrentContext();
CGRect ourRect = CGRectMake(40, 40, 240, 120);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 1.0, 1.0);
CGContextFillRect(context, ourRect);
CGContextSetRGBStrokeColor(context, 0.0, 1.0, 0.0, 1.0);
CGContextStrokeRectWithWidth(context, ourRect, 10);
}
Core Animationはユーザインタフェースのアニメーションを提供しています。レイヤをサポートしており、一つのレイヤに写真を置き、その上に文字のレイヤを置き、さらに絵のレイヤを置くことができます。また、レイヤを半透明にしたり、フェイドインアウトでレイヤを入れ替えることもできます。
Core AnimationのレイヤではCALayerが主のクラスとなり、CAEAGLLayre、CATiledLayer、CAScrollLayerがあります。また、アニメーションのクラスではCAAnimationが主のクラスとなり、CAPropertyAnimation、CABasicAnimation、CAKeyframeAnimationがあります。CAAnimationの下にはCAPropertyAnimationの他に、CATransitionとCAAnimationGroupがあります。
OpenGL ESはOpenGLの機能制限版でiPhoneで採用しているのはバージョン1.1です。詳細は以下のURLを参照してください。
http://www.khronos.org/opengles/
Media Player Frameworkの動画はフルスクリーンのみで、.mov、.mp4、.m4v、.3gpの再生ができます。
動画の生成と制御
- (id) initWithContentURL:(NSURL *)url;
- (void) play;
- (void) stop;
プロパティ
@property MPMovieScalingMode scalingMode;
@property BOOL userCanShowTransportControls;
ノティフィケイション
NSString * const MPMoviePlayerScalingModeDidChangeNotification;
NSString * const MPMoviePlayerPlaybackDidFinishNotification;
MPMoviePlayerCotrollerの例
- (void) playMovieAtURL: (NSURL *)theURL
{
MPMoviePlayerCotroller *theMovie = [[MPMoviePlayerCotroller alloc] initWithContentURL:theURL];
theMovie.userCanShowTransportControls = NO; default
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selsector(myMovieFinishedCallbask:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie.play];
}
- (void) myMovieFinishedCallbask:(NSNotification*) aNotificaition
{
// remove the observer, release the MPMoviePlayerController
}
登録:
コメントの投稿 (Atom)
Open Source
Appleが主催するdarwin-devのMailing listにAppleのDarwin TeamのWilliam SiegristがDeveloper Tools 3.1.3とiPhone OS 3.0関連のソース一部を公開したと投稿していました。 Developer To...
-
このメモは"iPhone Developer Program Standard Program Portal User Guide for OS X iPhone 2.0"という表題(ファイル名:iphone_developer_program_user_gu...
-
アプリケーションの追加方法はAdd New Applicationに書かれています。先のページにもあるように、Manage Your Applicationsがアップロードして登録する場所です。アプリケーションの大きさが200MBを超える場合にはこのページにあるApplicati...
-
iTunes Connect Developer Guide(ファイル名:iTunesConnect_DeveloperGuide.pdf)のメモです。 Program Portalの解説44ページに書かれている"Submitting your application ...
0 件のコメント:
コメントを投稿