画像のトリミングをしたい。以下のリンクを見ました。
しかし、私がやりたいことは次のとおりです。画像の計算寸法をその中心からトリミングしたい。たとえば、私の画像が 100 px でトリミングしている場合、結果を 50 px にする必要があります。左右それぞれ25px残して幅50pxにしたいです。
誰もそれをやったことがありますか?
シンプルなはずです。
(ソース画像の)とがwidth
ありheight
、出力がとである必要があるとしcropped_width
ますcropped_height
。
まず、ソース画像の中心を計算する必要があります。
int x_center=width/2;
int y_center=height/2;
次に、出力画像を定義されたサイズにする必要があることがわかったので、サイズの半分を左右に取ります。
int x_source=x_center-cropped_width/2;
int y_source=y_center-cropped_height/2;
そして最後に、トリミング用の長方形があります。
Rect r = new Rect(x_source, y_source, cropped_width, cropped_height);
何らかの形式を使用DrawImage()
して、その長方形を必要な場所にコピーします。