イメージビューにこのビットマップがあり、ビットマップを保存すると、ビットマップの周りに黒い境界線が含まれます。ビットマップのサイズが画面サイズと異なるため、境界線があります。誰でも理由と解決方法を教えてもらえますか? よろしくお願いします!
これが私の画像のビフォーとアフターのスクリーンショットです:
これが私のレイアウト XML です。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:scaleType="fitCenter" />
</LinearLayout>
<Button
android:id="@+id/selectPhotoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Select Photo" />
<Button
android:id="@+id/editPhotoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Edit Now" />
</RelativeLayout>
問題のあるイメージビューはimageView2です。
画像を保存する方法は次のとおりです。
private void savePhoto() {
if (editPhotoImg.getDrawable() == null) {
// Toast.makeText(getApplicationContext(), "No Photo Edited",
// Toast.LENGTH_SHORT).show();
} else {
try {
String filePath = getOutputMediaFile(RESULT).getPath();
editPhotoImg.setDrawingCacheEnabled(true);
Bitmap b = editPhotoImg.getDrawingCache(true);
b.compress(CompressFormat.JPEG, 100, new FileOutputStream(
filePath));
// Toast.makeText(getApplicationContext(),
// "Image saved to: "+filePath, Toast.LENGTH_SHORT).show();
// detectFaces(true);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Invalid File Path",
Toast.LENGTH_SHORT).show();
}
}
}
事前に助けてくれてありがとう!!!