ざっくりと。
- width , heightを指定した正方形のImageViewを作成して、画像をロード
- imageViewのloadイベントで、e.sourceをtoBlob()でBlobに変換する
- 変換したBlobの縦横の長さを比較して、縦横の長さが異なるときにcrop
- Blobはオリジナルの画像サイズになっているので、imageAsResized( width, height)でリサイズ
- リサイズ後画像をcrop
- imageViewのimageにcropで作成した新しいimageを代入
注意する点は、e.souce.width/heightで取得できるのは、オリジナルの画像サイズではなく、imageViewのサイズであるということ。