-4

画像のトリミングをしたい。以下のリンクを見ました。

画像のトリミング

しかし、私がやりたいことは次のとおりです。画像の計算寸法をその中心からトリミングしたい。たとえば、私の画像が 100 px でトリミングしている場合、結果を 50 px にする必要があります。左右それぞれ25px残して幅50pxにしたいです。

誰もそれをやったことがありますか?

4

1 に答える 1

1

シンプルなはずです。

(ソース画像の)とが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()して、その長方形を必要な場所にコピーします。

于 2012-11-05T13:37:32.123 に答える