我有两种方法可以为我挑选照片。我想在选择图片后做一些像Facebook个人资料图片方形裁剪。并且如果有一种简单的方法可以徘徊,例如将额外内容添加到意图(“crop”,“true”),(“aspectX / Y”,1)等等。现在我正在试验意图附加功能,但无法使其工作。
Constants.TAKE_CAMERA_PICTURE是1000 Constants.SELECT_PICTURE_ACTIVITY_REQUEST_CODE为1001
private void takeCameraPhoto() {
mPhotoHelper = PhotoHelper.recycle(mPhotoHelper);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = Uri.fromFile(mPhotoHelper.getPhotoFile());
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, Constants.TAKE_CAMERA_PICTURE);
}
public void importPhotoAlbum() {
mPhotoHelper = PhotoHelper.recycle(mPhotoHelper);
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, Constants.SELECT_PICTURE_ACTIVITY_REQUEST_CODE);
}
提前致谢!
答案 0 :(得分:2)
我正在使用 jdamcd / android-crop 库来实现此目的。只需在项目中将其添加为库.. 现在裁剪图像只需写一行i-e
Crop.of(source, dest).asSquare().start(this, CropCode);
这里, source 是图像文件的Uri, dest 是要保存图像的目标uri
它将为您完成所有工作..还有其他方法可以裁剪。如果您有任何困难,请告诉我: - )
答案 1 :(得分:0)
如果您想使用纯Android SDK,请将位图类与 createBitmap 方法一起使用,查看文档Here,然后查看以下示例:< / p>
#menu ul li a{
width:99%;
}
如果您想使用第三方SDK,请查看此库Cropper Android小部件以裁剪和旋转图片,我认为它会做您想要的,检查他们的wiki页面,其中包含以下示例:
1-将CropImageView添加到Layout XML文件
Bitmap croppedImage = Bitmap.createBitmap(sourceImage, startX, startY, destinationWidth, destinationHeight);
2-您可以使用提供的CropImageView方法以编程方式修改属性:
<com.edmodo.cropper.CropImageView
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:id="@+id/CropImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
3-要检索Cropper窗口中包含的图像,请使用提供的方法getCroppedImage()来检索裁剪图像的位图。
CropImageView cropImageView = (CropImageView) findViewById(R.id.CropImageView);
cropImageView.setAspectRatio(5, 10);
cropImageView.setFixedAspectRatio(true);
cropImageView.setGuidelines(1);
希望有帮助。