2012年12月18日火曜日

TextMask: 印象的な文字の切り抜き画像を作成できるiOSアプリをリリースしました


ひさびさの新作iOSアプリのリリースです。
といってもわりと軽めのアプリであまりたいしたものではないのですが。





TextMask は上のような印象的な文字の切り抜き画像を作成できるアプリです。

操作はいたって簡単で
1. 画像を選択する
2. 画像に重ねる色のレイヤーを編集
3. 文字の入力、編集
といった感じです。

色レイヤーの色や形を色々変えたり、文字の大きさ、行間などを変えてお気に入りに一枚を作成してください。

このアプリはもともとはPhontoの追加機能として考えていた機能を独立したアプリとしてリリースしました。
文字の切り抜きじゃなくて普通に画像に文字入れしたいという時は Phonto(無料) をご利用ください。
アプリ間連携をしているので(「他のアプリで開く」)TextMaskで作った画像にPhontoでさらに文字入れすることも簡単です。

また、TextMaskには無料の Lite版 もあるのでぜひお試し下さい。


2012年9月24日月曜日

iOSシミュレータで画像をアルバムに保存する方法と画像のパス

画像をアルバムから読み込むアプリを作る時に、シミュレータにあらかじめなんらかの画像を用意しておくためのメモです。


画像を保存する一番手っ取り早い方法は、Safariに画像を表示させて保存する方法です。

1. 画像をシミュレータにドラッグ&ドロップする。
2. Safariが自動で起動する
3. 画像長押しで画像保存。

保存した直後に「写真」アプリを起動しても画像を認識してくれない場合があります。一度シミュレータを再起動するといかもしれません。

ちなみに、ターゲットとなるOSごとに画像が管理されてるのでXcodeのバージョンが上がるごとに新たに画像を入れ直す必要あり。


アルバムの画像は ~/Library/Application Support/iPhone Simulator/6.0/Media/DCIM/100APPLE です。

Libraryディレクトリが隠しファイルになっているのでFinderから探す場合は

1. Finderの[移動]-[フォルダへ移動] を開く
2.  "~/Library"と入力
3. Application Support/iPhone Simulator/6.0/Media/DCIM/100APPLE に移動

ちなみに、このディレクトリに画像を直接放り込んでも「写真」アプリでは読み取ってくれません。

2012年9月20日木曜日

Phonto 3.3.0をリリースしました! iOS 6対応 & Facebookサポート & 文字色にグラデーションをかけられるようになりました


iOS 6 がリリースされたということでPhontoのiOS 6対応版をリリースしました。
新機能の追加や不具合の修正をしているのでぜひアップデートしてみてください。

ご存知のかたも多いと思いますが、iOS 6からFacebookとの連携が強化されています。
PhontoでもこのOSの機能を使って、Facebookに画像をアップロードできる機能を追加しています。
TwitterやInstagramと合わせて、FacebookにもぜひPhontoで加工した画像をアップロードしてみてください。



新機能: 文字色のグラデーション




これまでPhontoでは単一の文字色しか適用できませんでしたが、今バージョンから文字色にグラデーションをかけられるようになりました
あらかじめアプリに入っているパターンだけではなく、自分でお好みの色を組み合わせて保存できるようになっているので是非活用してください。




文字入力のメニューから「スタイル」を選択し、画面下部の「色パターンを作成」をタップします。


最大4色の色を組み合わせることができます。
グラデーションのかけ方は垂直方向水平方向を選べるようになっています。


左のボタンを押すとパターンを選択できます。
アプリにあらかじめ入っているパターンのほかに、自分で作成して保存したパターン(Myパターン)もここから選べます。


色の領域を長押しするとメニューが表示されます。
色の削除 / コピー / ペースト が行えます。

Instant110 1.8.0をリリースしました!iOS 6対応 & レンズとフィルムの追加セット & 好きな組み合わせを保存できる機能を追加しています


iOS 6がリリースしましたね。
というわけでiOS 6対応バージョンをリリースしました。



さらに、新しいレンズとフィルムを追加しています。

★ Optical X31 レンズ
★ Instant ES220 フィルム
★ S.L.C. 35 Vintage フィルム




上: Optical X31レンズ + InstantES220 フィルム + Standard 現像液
下: Prestonレンズ + S.L.C. Vintageフィルム + Chromatic X 現像液



さらにさらに、レンズ / フィルム / 現像液のお好きな組み合わせを保存できる機能を追加しています。
簡単にお気に入りの組み合わせを切り替えることができるようになっているので是非活用してください。



Instant110はApp Storeからダウンロードできます



Facebookページもありますので気に入っていただけたら「いいね」していただけると幸いです。

2012年6月26日火曜日

簡単に写真に文字を入れられる無料Androidアプリ Phonto 1.1.0をリリースしました


初リリースから約二ヶ月経過して初のメジャーアップデートです。

大きな変更点はふたつ

- フォントーのインストール機能の追加
- 文字の影を調節できる機能の追加


レビュー欄などでももっと日本語フォントを追加してほしいという要望が寄せられていたものの、ライセンス等の関係からなかなか対応できませんでした。
今回フォントのインストール機能を追加したことで、お好きなフォントを自由にお使いいただけるようになりました

フォントのインストール方法はいたって簡単です。
/[sdcard]/Phonto/fonts に.ttfもしくは.otfのフォントファイルを置くだけで、Phontoが自動的にフォントを読み込むようになっています。

※ [sdcard]の部分はお使いの端末によって異なります。多くの端末では/mnt/sdcard になることが多いようです。具体的にはPhontoを起動して"フォントのインストール方法"からご確認いただけます。(上のスクリーンショットを参照)


PC/MacからAndroid端末にフォントファイルを転送する方法はいくつかありますが、AirDroidがWiFi経由で簡単に操作できておすすめです。

『AirDroid』~ワイヤレスでパソコンにデータ転送!専用ソフト不要の手軽&高機能アプリ~



文字の影の調節
影の透明度、ぼかし、横位置、縦位置の調節が可能になっています。


PhontoをGoogle Playでダウンロード

2012年6月8日金曜日

画像に文字を入れられる無料iOSアプリ- Phonto 3.1.0 をリリースしました


今アップデートではフォントのインストール機能を追加しています。
ようするに、お好きなフォントを自由にインストールしてお使いいただけるようになりました!

日本語フォントの種類を増やしてほしいという要望が多いのは理解していますが、権利の問題やらでこれまでなかなか実現できませんでした。
今回のアップデートでフォントのインストールが可能になったので、個人の責任で活用して頂ければ幸いです。



フォントのインストール方法はふたつあります。

1. PC/MacのiTunesの「ファイル共有機能」を使う
2. メールアプリやDropboxアプリ等からフォントファイルを転送する



1. PC/MacのiTunesの「ファイル共有機能」を使う

意外と知られていないかもしれませんが、iTunesにはファイル共有機能というのがあって、PC/MacとiPhone/iPadでファイルのコピーが行えます。
この機能を使って.ttfもしくは.otfといったフォントファイルを共有することで、Phontoでお好きなフォントをご利用いただけます。



2. メールアプリやDropboxアプリ等からフォントファイルを転送する

こちらの方法は友人などとフォントファイルを共有する時に便利かと思われます。
ファイルを扱えて他アプリに転送できるアプリで実行で来ます。

メールアプリ、Dropboxアプリ、Evernoteアプリなどからファイルを転送できるのは確認済みです。
(Dropboxを利用するにはDropboxのユーザー登録が必要です。)


参考としてDropboxアプリのスクリーンショットを貼っておきます。






さらに、今回のアップデートでアイコンも新しくなりました!

Androidアプリ開発でBitmapを扱う時に知っておくと便利かもしれない小技集

役に立つか分かりませんが、画像編集系のAndroidアプリを1本作る過程で調べたことをメモしておきます。
画像編集がメインじゃなくても画像を扱うアプリってけっこう多いと思うので開発の一助になれば幸いです。


1. 読み込む画像サイズを制限する

スマートフォンが高機能化したといっても、アプリが使えるメモリの制限はけっこう厳しいので、大きな画像をガンガン使うとOutOfMemoryErrorでアプリがすこーんと落ちることが結構あります。
そもそもでかい画像を扱わなければ死活的な問題になることはないわけで、必要がなければサイズを制限して画像を読み込んだ方が得策です。
Uri uri = "画像のパス";
Bitmap imageBitmap;
try {
    ContentResolver contentResolver = getContentResolver();
    InputStream inputStream;
    BitmapFactory.Options imageOptions;

    // メモリ上に画像を読み込まず、画像サイズ情報のみを取得する
    inputStream = contentResolver.openInputStream(uri);
    imageOptions = new BitmapFactory.Options();                   
    imageOptions.inJustDecodeBounds = true;
    BitmapFactory.decodeStream(inputStream, null, imageOptions);
    inputStream.close();
        
    // もし読み込む画像が大きかったら縮小して読み込む
    inputStream = contentResolver.openInputStream(uri);
    if (imageOptions.outWidth > 2048 && imageOptions.outHeight > 2048) {
        imageOptions = new BitmapFactory.Options();
        imageOptions.inSampleSize = 2;
        imageBitmap = BitmapFactory.decodeStream(inputStream, null, imageOptions);
    } else {
        imageBitmap = BitmapFactory.decodeStream(inputStream, null, null);
    }
    inputStream.close();
 } catch (Exception e) {}
BitmapFactory.OptionsinSampleSizeで読み込む画像サイズを指定できます。
ただ、このフィールドで指定できるのは2, 4, 8… と2の倍数のみで、指定した数字で画像を縮小します。(2を指定すると横を1/2、縦を1/2倍します。面積としては1/4)
ようするに、細かくサイズを指定できません。


2. 画像をリサイズする

画像の縦/横を0.6倍する場合はこんな感じです。
Matrix matrix = new Matrix();
matrix.postScale(0.6f, 0.6f);

Bitmap resizedImageBitmap;
resizedImageBitmap = Bitmap.createBitmap(imageBitmap, 0, 0, 
                                        imageBitmap.getWidth(), imageBitmap.getHeight(), matrix, true);



3. 保存した画像をギャラリーに即座に表示する

画像を扱うアプリ(ギャラリーなど)はストレージに画像を書き出しても即座に読み取ってくれないんですよね。
そのままだと端末の再起動など、スキャンしてくれるタイミングを待つ必要があります。
画像を書きこんだ後にこちらからスキャンをリクエストすると、ギャラリーに即座に表示されます。
String[] paths = {imagePath};
String[] mimeTypes = {"image/jpeg"};
MediaScannerConnection.scanFile(context, paths, mimeTypes, null);



4. ギャラリーに表示したくない画像を隠す

画像をストレージに保存する場合、キャッシュディレクトリのファイルなどは隠しておきたいですよね。

.nomediaという空のファイルをディレクトリに置くと、そのディレクトリ内のファイルはメディアを扱うアプリ(ギャラリーなど)の読み取り対象からはずれます。
File cacheDir = context.getExternalCacheDir();
if (!cacheDir.exists()) {
    cacheDir.mkdirs();
}

File noMediaFile = new File(cacheDir, ".nomedia");
if (!noMediaFile.exists()) {
    try {
        noMediaFile.createNewFile();
    } catch (IOException e) {}
}


5. 省メモリでimmutableな画像をmutableな画像に変換する

例えば、ファイルやリソースから読み込んだ画像をCanvasを使って編集する場合。
Bitmap immutableImage = Bitmap.decodeFile(...);
Canvas c = new Canvas(immutableImage);
CanvasのコンストラクタにimmutableなBitmapを渡すと例外が発生します。
java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor

BitmapFactoryのdecodeFileやdecodeResourceメソッドにはBitmapFactory.Optionsを渡すことができ、inMutableでmutableなBitmapを返すかimmutableなBitmapを返すかを指定できるのですが、このフィールドを使えるのはAPIレベル11からです。

そのため、若いAPIレベルをサポートする場合、immutableなBitmapをmutableなBitmapに変換するために画像をコピーする必要があります。
Bitmap mutableBitmap = immutableImage.copy(immutableImage.getConfig(), true);
この形だと一時的に画像ふたつ分のメモリが必要となります。

よりメモリを節約するテクニックとして下のリンクをご覧下さい。
一時的に画像をファイルに書き出し、一度メモリをクリアしてからmutableな画像を読み込んでいます。

http://pastebin.com/Fd05CPn3

2012年5月28日月曜日

Instant110 1.7.0 をリリースしました


リリースしたのがたしか2011年の10月後半だったのでいつのまにかリリースしてから半年たっていました。


今回のアップデートでは新しいレンズとフィルムを追加しています。
どちらも無料で入手できるのでお気軽にどうぞ!


Becker T952レンズ

Henrychrome G50フィルム


Facebookページもありますので気に入っていただけたら「いいね」していただけると幸いです。



2012年5月23日水曜日

画像に文字を入れられる無料iOSアプリ- Phonto 3.0.0 をリリースしました


前回のアップデートから ちょうど1ヶ月でしょうか
前回のアップデートでiPadにも対応したのですが、おかげさまで好評いただけているようでなによりです。
その間にAndroid版のリリースなどもありましたが、iOS版Phontoをアップデートしました。

大きな変更点はこちら
  • フォント4種類追加
  • 複数行入力のサポート
  • ©などの特殊記号が入力しやすくなりました
  • 文字のストローク(縁取り)の色が変更できるようになりました
  • 写真ではなくプレーンな画像に文字を書けるようになりました


文字の複数行入力
なんで改行できないんだ!という声に応えて対応しました。
文字の「左寄せ/中央寄せ/右寄せ」もできるようになっています。



文字のストローク
色だけでなく太さも4段階調節可能です。



プレーンな画像に文字入力
メッセージカード的な使い方を想定しています。
背景色とボーダー色を自由に変更できます。



テンプレートは20種類以上 (有料)



いかがでしょうか?

今後の予定として、ユーザーの皆さんが個別に好きなフォントを追加できる機能を考えています。
それに、iOSのPhontoだとできるけどAndroidのPhontoだとできないことが色々あるので、それもなんとかしないとなあとも考えています。

PhontoをApp Storeでダウンロード
PhontoをGoogle Playでダウンロード

2012年4月28日土曜日

Phonto - 簡単に写真に文字を入れられる無料Androidアプリをリリースしました


Androidアプリ初リリースです。

これまでずっとiOSアプリを作ってきたので、とりあえず最初はiOSアプリのどれかをAndroidアプリに移植しようと思い、これを選びました。(iOS版はこちら)

写真に文字を入れるだけ」というとてもシンプルなアプリなので、基本的にはiOS版とほとんど違いはありません。
ただ、iOSにはデフォルトで個性的で魅力的なフォントがたくさん入っているのですが、Androidではそれが使えないのでフォントの種類に差があります。

Androidアプリを作り始めてから10日くらいでガーッと作ってえいやっとリリースしたので、思いっきりバグが含まれている可能性がありますが…、それはおいおい修正していきます!




PhontoをGoogle Playでダウンロード

Android端末のSDカード内のファイルをMacに転送する方法

WindowsだとAndroid端末をPCにUSB接続するだけでSDカードの中をのぞけるみたいですね。
MacだとAndroid File Transferという公式のMacアプリがあってそれを使えばSDカード内のファイルを転送できるようになるみたいですがAndroid 3.0以上必須ということで手持ちの端末では使えませんでした。

以下、アプリ開発者しか使えない小技ですが、意外と気付かない人がいるかもしれないのでメモっときます。

まあ、EclipseのDDMSを使えば簡単だよという話です。
(DDMSはEclipseを開いて右上のアイコンから開けます。)


DDMSのFile Explorerを開いた画面。
SDカードは基本的に/mnt/sdcardにあるようですが、端末によってまれにパスが違うっぽいです。

転送したいファイルを選択した状態で、File Exploreの右上にあるアイコンを押すと、ファイルをMacに転送できます。


2012年4月21日土曜日

画像に文字を入れられる無料iOSアプリ- Phonto 2.0.0 をリリースしました


おひさしぶりのアップデートです。 (半年ぶり!)
初のメジャーバージョンアップとなります。


日本のユーザーの皆様には、やはり日本語対応フォントの追加が目玉でしょうか
その他 英数字専用フォントを7種類
  • AbrilFatface-Regular
  • BANANABRICK
  • Graziano
  • NemoyMedium
  • PressStart2P
  • Strato-linked
  • Strato-unlinked



さらに、じゃーん!
iPad対応
できること、入っているフォントの種類は基本的にiPhone版と一緒ですが、大きい画面なので操作がしやすくなっています
ユニバーサルアプリなのですでにiPhone版のPhontoをダウンロードされている方はiPadでそのままご利用いただけます。



そして、
文字のレイアウト & 文字の移動ツールの追加


Phontoは現在のところ文字の改行には対応していませんが、レイアウト機能によって複数の文字を簡単に並べることができるようになりました。
画像の上を指でなぞると半透明の矩形が現れるのでそれで文字を選択してください。
文字を選択すると画面下に「レイアウト」ボタンが現れるので、そこから選択した文字の右揃え、中央揃え、左揃えが行えます。


また、指で文字の位置を移動しようとする際、思ったところに移動できないという時のために「移動」ツールも追加しました。



いかがでしょうか?
無料ですので、ぜひお気軽に App Storeからダウンロード してみてください。




最後に、このブログのTwitter(@mudaimemo)をフォローしてくださっている奇特な方はお気づきかもしれませんが、只今Android版を鋭意開発中です。
公開がいつになるかは全くの未定ですが、その折はまたご報告をば。


PhontoのAndroidアプリがGoogle Playからダウンロードできるようになりました!