— boreal-kiss.com

Archive
Tag "iPad"

Processingでちまちま描いていたSimian Mobile Discoの最新アルバム、Unpatternsのカバーアートに採用されました。CD、レコードともに盤を回転させるとカバーの模様と干渉してモアレが生成される仕組みになっていて、ジャケットを鑑賞するだけでも楽しめると思います。元々の図柄はBridget RileyのRiley Wavesを再現したものになっています。

同時にiPhoneアプリケーションの方もコラボレーションさせていただきました。こちらはMoiréアプリの内容にいくつか新しい形状を加えた形になっています。もちろん最新アルバム収録曲全て聴けます。

Read More

iPhone、iPad用にアイコンをリサイズするMacアプリケーションIconUtilityをver. 0.9.3にアップデート。画像縮小時の質感のコントロールできるようになりました。具体的にはCoreGraphicsが描画時に使用するinterpolationアルゴリズムを選択できるようにしています1。コアになっているのは以下の関数。

void CGContextSetInterpolationQuality (
   CGContextRef c,
   CGInterpolationQuality quality
);
 
enum CGInterpolationQuality {
   kCGInterpolationDefault = 0,
   kCGInterpolationNone = 1,
   kCGInterpolationLow = 2,
   kCGInterpolationMedium = 4,
   kCGInterpolationHigh = 3
};
typedef enum CGInterpolationQuality CGInterpolationQuality;

CGInterpolationQualityの具体的な使用例はResize a UIImage the right way — Trevor’s Bike Shedで紹介されているUIImage+Resize.h, UIImage+Resize.mが参考になります。

以下IconUtility ver.0.9.3で作成したアイコン例を挙げておきます。

– None (kCGInterpolationNone)を使用した場合のIcon@2x.png

– High (kCGInterpolationHigh)を使用した場合のIcon@2x.png

ソースとアプリケーション本体は以下に置いてあります。

Footnotes

  1. 以前のバージョンではkCGInterpolationDefaultのみを使用。 []
Read More

画像をドロップするとiPhone/iPad用のアイコン用にリサイズするMac用アプリケーションです。対応サイズと出力ファイル名は以下の通り1

  • Icon.png – 57×57ピクセルのiPhoneアイコン
  • Icon@2x.png – 114×114ピクセルのiPhone 4アイコン
  • Icon-72.png – 72×72ピクセルのiPadアイコン
  • Icon-Small.png – 29×29ピクセルのiPhoneセッティングアイコン
  • Icon-Small@2x.png – 58×58ピクセルのiPhone 4セッティングアイコン
  • Icon-Small-50.png – 50×50ピクセルのiPadセッティングアイコン

ソースとアプリケーション本体は以下に置いてあります。

Footnotes

  1. Updating for the iPhone 4 retinal display – Blog – Use Your Loaf []
Read More

» Demo movie for iPad users
» Demo movie for iPhone users

Pscope for iPadはフォトライブラリの写真から万華鏡ライクなイメージを生成するiPadアプリケーションです。Pscopeの名前の由来は「Pentagonal kaleidoscope」です。万華鏡でいうところの鏡の形状が五角形になっているので一般的な万華鏡とは違った雰囲気が楽しめます。五角形の形状は現在知られているパターンすべて(注1)を網羅しておりサイズや形状などの細かいカスタマイズも可能です。さらにスクリーン上のタッチポイントによって描画される画像が変化するので同じ写真素材からいくらでも異なる万華鏡イメージを作り出します。

(注1. 2010.07.02 – 五角形タイルの全14パターンの内、Type 2と呼ばれるものについては現在修正中につきアプリケーション内で使用できません。修正完了までお待ちください)

Demo images

いくつかの有名な五角形タイルを用いて実際に万華鏡イメージを出力させてみました。

– 入力に用いたのは以下の画像 (from [Flash] fla06 – boreal-kiss.com)。

Cairo pentagonal tilingを用いて描画したもの。

Floret pentagonal tilingを用いて描画したもの。

Prismatic pentagonal tilingを用いて描画したもの。

App Storeで販売中

Pscope for iPadは現在230円で販売中です。

アプリケーション詳細はこちら。» Pscope for iPad

参考

Read More

Important note at July 05, 2010

It is found the problem below does not come from SDK but ME. Specifically when implementing UITabBarController, I’ve ignored to set its view’s autoresizesSubviews property to YES. The repository of BKTabBarController at github.com will be also closed soon.

——————- The original artice stats here. ——————-

SDK 3.2ではiPadをターゲットにした場合UITabBarControllerが正しく動作しない。具体的に言うと以下のような問題が発生する。

  • デバイスの回転が生じた際、配下のUIViewControllerのビューフレームが再配置されない。
  • 回転後に強制的に子ビューのフレームを変更すると、子ビュー中のボタン(UINabigationBarの場合右側ボタンのみ)が動作しなくなる。

全く同じ現象に悩んでいる人が他にもいたので自分の勘違いというわけではなさそうだ。

View controllers inside tab bar controller not auto-resizing on rotation – Stack Overflow

もし勘違いでないとすると結構な問題だ。というのもiPadではPortraitとLandscapeどちらのデバイス方向にも対応したアップリケーションでなければ提出できないのだが、UITabBarControllerを使った場合回転時に全く使い物にならないアプリケーションになってしまうからだ。

BKTabBarController

そこで上記問題点を解消するようなTabBarControllerクラスを作った。次回SDKアップデートでUITabBarControllerの不具合が修正されるまでは役立つと思う。UITabBarControllerと同じインターフェースで、現時点で実装してあるものを以下に示す(タブのカスタマイズ系は未実装)。

Properties / methods

@interface BKTabBarController : UIViewController {
 
}
 
@property (readonly, retain) UITabBar *tabBar;
@property (nonatomic, copy) NSArray *viewControllers;
@property (nonatomic, assign) NSUInteger selectedIndex;
@property (nonatomic, assign) UIViewController *selectedViewController;
@property (nonatomic, assign) id <BKTabBarControllerDelegate> delegate;
 
-(void)setViewControllers:(NSArray *)controllers animated:(BOOL)animated;
@end

Delegate

@protocol BKTabBarControllerDelegate <NSObject>
@optional
 
-(void)bkTabBarController:(BKTabBarController *)tabBarController 
	didSelectViewController:(UIViewController *)viewController;
-(BOOL)bkTabBarController:(BKTabBarController *)tabBarController
	shouldSelectViewController:(UIViewController *)viewController;
@end

ソースコードを含むサンプルプロジェクトとスタティックライブラリ化したライブラリは以下においてあるのでご自由にお使いください。