T

ImageAsResized更新

AndroidにもTiBlobの機能としてImageAsResizedが実装されたにも関わらず細々と利用されているImageAsResizedモジュールですが、Titanium側の仕様変更に追随していなかった部分を更新しておきました。2.0系に合わせて更新して以来の変更です。今回の変更でローカルファイルのリサイズが正常に動作するようになりました(これまでもTiBlobを渡せば動いていたんですが)。

特徴は、回転に対応していること、支点と距離を指定すると切り取りにも対応していること、元画像とプロポーションが違う大きさにリサイズしようとすると勝手に切り取られること(仕様です)。

// Resources以下のファイルは先頭に「/」があってもなくても大丈夫です。
// SDCARDの中のファイルはTi.Filesystem.externalStorageDirectoryでフルパスを渡します。
var androimage = require('org.selfkleptomaniac.ti.imageasresized');
var image_data = androimage.imageAsResized(width, height, "images/boy.jpg", 0);
var rotated_image_data = androimage.imageAsResized(width, height, "/images/boy.jpg", 90);
var sd_card_image = androimage.imageAsResized(width, height, Ti.Filesystem.externalStorageDirectory + "tmp.jpg", 0);

// ちなみにimage_view2は90度回転しています。
// そう、回転にも対応しているんです。
var image_view1 = Ti.UI.createImageView({image:image_data, top:20, canScale:true, width:width, height:height});
var image_view2 = Ti.UI.createImageView({image:rotated_image_data, top:20, width:height, height:width});
var image_view3 = Ti.UI.createImageView({image:sd_card_image, top:20, width:width, height:height});

wrap.add(image_view1);
wrap.add(image_view2);
wrap.add(image_view3);

結果はこんな感じ。

resized_mame

Posted by on 6月 28, 2013 in Android, Titanium

コメントを残す