ざっくりと。 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のサイズであるということ。