画像をトリミングする場合は、joshholtz(https://github.com/joshdholtz/CropImageView)のCropImageViewを使用しています。しかし、私は返す行の直前の最後の行のクロップ関数でCreateBitmap関数でIllegalArgumentException例外(x + widthは< = bitmap.width()でなければならない)を取得しています。joshdholtz CropImageView createbitmap java.lang.IllegalArgumentException:x + widthは<= bitmap.width()以下にする必要があります
public Bitmap crop(Context context) throws IllegalArgumentException {
// Weird padding cause image size
int weirdSidePadding = this.getWeirdSideMargin();
int weirdVerticalPadding = this.getWeirdVerticalMargin();
FrameLayout.LayoutParams params = (LayoutParams) mDaBox.getLayoutParams();
// Getting crop dimensions
float d = context.getResources().getDisplayMetrics().density;
int x = (int)((params.leftMargin - weirdSidePadding) * d);
int y = (int)((params.topMargin - weirdVerticalPadding) * d);
int width = (int)((this.getWidth() - params.leftMargin - params.rightMargin) * d);
int height = (int)((this.getHeight() - params.topMargin - params.bottomMargin) * d);
Bitmap crooopppppppppppppppeed = Bitmap.createBitmap(mBitmap, x, y, width, height);
return crooopppppppppppppppeed;
}
実際に私は潜在的に同じ質問を見ましたが、不都合にも、私の状況と同じ程度に私を助けてくれません。
この障壁を乗り越えてもらえますか?
問題の実際のコードと完全なスタックトレースをここに掲載します。他のサイトへのリンクを使用しないでください。 –
お返事ありがとうございました。上のコードの戻り行の前の最後の行は、例外をスローします。 –