読者です 読者をやめる 読者になる 読者になる

Titaniumで外部からロードしてきた画像を正方形にcropする

ざっくりと。

  1. width , heightを指定した正方形のImageViewを作成して、画像をロード
  2. imageViewのloadイベントで、e.sourceをtoBlob()でBlobに変換する
  3. 変換したBlobの縦横の長さを比較して、縦横の長さが異なるときにcrop
  4. Blobはオリジナルの画像サイズになっているので、imageAsResized( width, height)でリサイズ
  5. リサイズ後画像をcrop
  6. imageViewのimageにcropで作成した新しいimageを代入

注意する点は、e.souce.width/heightで取得できるのは、オリジナルの画像サイズではなく、imageViewのサイズであるということ。