我想裁剪图像我发现了一些相当有用的但是不知何故就像缺少了未选区域的变暗所以我想知道有谁知道怎么样?还是引导我走向正确的方向?我发现的在线教程显示会使所选区域变暗,但是当我使用它时,它不会.请帮助我多多感谢,抱歉我的英语不好.
我使用的教程的链接.
我希望它是这样的.
editButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent goEdit;
goEdit = new Intent(PreviewActivity.this, CropImage.class);
goEdit.putExtra("image-path", path);
goEdit.putExtra("scale", true);
goEdit.putExtra("fileName", nameFromPath);
//finish();
checkEdit = true;
startActivityForResult(goEdit,0);
}
});
Run Code Online (Sandbox Code Playgroud)
编辑 我使用此按钮侦听器通过调用类CropImage活动调用cropImage文件.这是一个自定义的意图,而不是Android内部的裁剪功能,但我认为是它的副本,以便它支持所有版本,但当我调用它时,所选区域不亮,我不知道问题可以在哪里引导我?谢谢这是我正在使用drioid4you裁剪图像的库
我用这个代码来使用android的内置图像裁剪工具.我的代码如下
public void takePicture(){
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null){
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
takePictureIntent.putExtra("crop", "true");
takePictureIntent.putExtra("aspectX", 0);
takePictureIntent.putExtra("aspectY", 0);
takePictureIntent.putExtra("outputX", 200);
takePictureIntent.putExtra("outputY", 150);
takePictureIntent.putExtra("return-data", true);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageViewImage.setImageBitmap(imageBitmap);
}
}
Run Code Online (Sandbox Code Playgroud)
在Button的单击侦听器内调用takePicture.做的是我可以打开Android相机拍照,当点击保存图像保存在我的imageView上.但是没有出现裁剪活动,而且imageView上的图像看起来很糟糕.质量就像它的像素化.难道我做错了什么?我使用三星galaxy tab 3来测试我的应用程序
使用以下答案编辑... Stil无法正常工作
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_IMAGE_CAPTURE && …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从媒体库中裁剪图像.我可以访问图像,启动默认裁剪工具甚至保存裁剪的图像结果.但是,如果裁剪成功,我正在使用的意图将不会返回任何结果.
- 主要方法 -
// Crop photo intent.
Intent intent = new Intent("com.android.camera.action.CROP", null);
intent.setData(uri);
intent.putExtra("outputX", outputX);
intent.putExtra("outputY", outputY);
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("scale", scale);
intent.putExtra("return-data", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, createTempCroppedImageFile());
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
// Publish intent to crop picture.
activity.startActivityForResult(intent, activity.CROP_PHOTO_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
- OnActivityResult()方法 -
// Photo crop activity.
if (requestCode == CROP_PHOTO_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Log.d(TAG, "user cropped a photo");
signupScreen.setImage(new PhotoTool(this).getTempCroppedImageFileLocation());
} else
Log.d(TAG, "user cancelled photo crop");
}
Run Code Online (Sandbox Code Playgroud)
-
如果我取消了裁剪活动,我会成功获得"用户取消的照片裁剪"消息.但是,如果我裁剪图像,新裁剪的图像将出现在目标目录中,但OnActivityResult()函数永远不会被调用.是什么赋予了??
看看LogCat,我发现每次保存裁剪的图像时,"JavaBinder"都会抱怨"Binding Transaction失败".我知道这与记忆有某种关系.但裁剪文件的大小只有24KB.嗯.
android android-intent android-image onactivityresult android-crop