ハマりまくったので、雑多なメモだけ残す。
まず、ImagesServiceFactory.makeCropの4つの引数は、
画像位置を割合で表したものである。
例えば、幅100の画像において、(50,50)から(75,75)の正方形を
切り取ろうとしたら、
- ImagesServiceFactory.makeCrop(0.5, 0.5, 0.75, 0.75);
としてCropを作成する必要が有る。全く直感的ではない。
どんな大きさの画像にも対応するためなんだろうが、そんな工夫はいらない。
だったら6引数にして、最初に画像の幅と高さ、残り4つに割合表記じゃない
座標を入れさせてほしい。
次に、Cropを使ってapplyTransformすると、元画像の大きさが変わってしまう。
- ImagesService imagesService = ImagesServiceFactory.getImagesService();
- Image image = <何かしら、Imageを取得する>;
- imagesService.applyTransform(ImagesServiceFactory.makeCrop(0.5, 0.5, 0.75, 0.75),image);
ってやると、前と後ではimageが異なるものになっていた。
何でだ?納得できない。
だったら、戻り値で返さないで欲しい。返してくるから、元画像が守られると思い込んでしまうんだろうが!
APIドキュメント読めとか、素人みたいな事言うな!!
APIドキュメント読まなくてもわかるAPI作れ!!!