导航:首页 > 操作系统 > android裁剪图片不规则

android裁剪图片不规则

发布时间:2022-07-18 07:41:52

1. android拍照图片裁剪的问题

在裁剪代码执行之前加上这几句试试

try {
Runtime.getRuntime().exec("chmod 777 " + file.getAbsolutePath());

} catch (IOException e) {

e.printStackTrace();
}

2. 做了一个Android的demo实现头像裁剪上传,但是拍照完成后出现如下图问题,图库也一样大神们帮忙看看

实现思维路径:
以进入相机拍照的思维路线为例子:
1.进入app
2.判断之前是否保存头像,如果有就显示历史图像 (下面代码中在getOldAvatar();方法中执行这个逻辑)
3.点击更换图像的Button或者布局,启动对话框(下面代码中在dialogueBox();方法执行这个逻辑)
4.系统版本判断授权方式(静态还是动态授权),判断之前是否已经授权 (setPermissions(Permissions_CAMERA_KEY);这个方法执行授权逻辑)
5.如果是首次授权,就执行首次授权完成后马上运行的回调方法 onRequestPermissionsResult
5.判断完成不管是否是首次授权还是之前就是授权过了都要执行enterCamera();方法启动相机并且发送携带数据的请求
6.启动相机完成后,并且拍照完成退出相机,都要运行Intent返回数据请求回调方法onActivityResult。将传入的数据传入到cropPhoto(data.getData());方法里去执行图片剪裁。
7.在cropPhoto方法里将携带数据跳转到裁剪界面中裁剪图片,裁剪完成后又要回到onActivityResult回调方法里,执行裁剪完的数据回调工作。

8.在onActivityResult回调方法里,裁剪完的图片将运行setPicToView 方法保存图片。保存的图片将在下次启动activity时作为历史头像调用。

package com.example.lenovo.mydemoapp;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.StrictMode;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

3. Android调用系统的图片剪裁,剪裁框大小能设置吗outputX和outputY不是

你的问题我理解的是从一张图片上。挖取指定坐标的一块图片是吧。
看代码的意思是。你想用参数的方法直接从camera取得。这种方法没有尝试过。
这一定得需要camera支持。识别extra里的参数。这样实际是调用系统的api处理

倒不如你换个方法。把这些图品剪切的动作放到本地里做。只从照片中取得整张图片。避免API不支持或版本不支持

4. android上如何实现大图片的分段切割显示

有种场景,我们想将一个图片切割成多个图片。比如我们在开发一个拼图的游戏,就首先要对图片进行切割。
以下是封装好的两个类,可以实现图片的切割。仅供参考和学习。
一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的顺序索引的int变量。
package arui319.blog.csdn.net;

import android.graphics.Bitmap;

public class ImagePiece {

public int index = 0;

public Bitmap bitmap = null;
}

一个是ImageSplitter类,有一个静态方法split,传入的参数是要切割的Bitmap对象,和横向和竖向的切割片数。比如传入的是3、3,则横竖向都切割成3片,最终会将整个图片切割成3X3=9片。
package arui319.blog.csdn.net;

import java.util.ArrayList;
import java.util.List;

import android.graphics.Bitmap;

public class ImageSplitter {

public static List<ImagePiece> split(Bitmap bitmap, int xPiece, int yPiece) {

List<ImagePiece> pieces = new ArrayList<ImagePiece>(xPiece * yPiece);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int pieceWidth = width / 3;
int pieceHeight = height / 3;
for (int i = 0; i < yPiece; i++) {
for (int j = 0; j < xPiece; j++) {
ImagePiece piece = new ImagePiece();
piece.index = j + i * xPiece;
int xValue = j * pieceWidth;
int yValue = i * pieceHeight;
piece.bitmap = Bitmap.createBitmap(bitmap, xValue, yValue,
pieceWidth, pieceHeight);
pieces.add(piece);
}
}

return pieces;
}

}
这里的切割,主要使用的是Bitmap对象的createBitmap方法,不再做具体描述。

5. android怎么得到怎么得到剪裁区域大小,然后设计输出图片大小比例

你的问题我理解的是从一张图片上。挖取指定坐标的一块图片是吧。
看代码的意思是。你想用参数的方法直接从camera取得。这种方法没有尝试过。
这一定得需要camera支持。识别extra里的参数。这样实际是调用系统的api处理

倒不如你换个方法。把这些图品剪切的动作放到本地里做。只从照片中取得整张图片。避免API不支持或版本不支持

6. android 怎么裁剪drawable

可使用ScaleType来指定drawable的缩放方式,来实现裁剪效果。

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。
设置的方式包括:
1. 在layout xml中定义android:scaleType="CENTER"
2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

Scaletype的取值说明:
1. SetScaleType(ImageView.ScaleType.CENTER);
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

2. SetScaleType(ImageView.ScaleType.CENTER_CROP);

按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

4. setScaleType(ImageView.ScaleType.FIT_CENTER);

把图片按比例扩大/缩小到View的宽度,居中显示

5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。
在此就不给出示例了。

6. FIT_XY
不按比例缩放图片,目标是把图片塞满整个View。

7. Android如何进行图片编辑

裁剪选取或拍摄的图片
public static void cropphoto(Fragment fragment, Uri uri){ //设置裁剪图片保存位置 File bomb=new File(fragment.getContext().getExternalCacheDir(),"bmob"); Log.d("tag", "cropphoto: "+bomb); if (!bomb.exists()){ bomb.mkdir(); } File file=new File(bomb,"user_icon.jpg"); if (!file.exists()){ try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } Intent intent=new Intent("com.android.camera.action.CROP");//intent隐式调用启动拍照界面 intent.setDataAndType(uri,"image/*");//设置需要裁剪的图片地址 intent.putExtra("crop", "true");//通过put(key,value)方法设置相关属相 intent.putExtra("aspectX", 1);//设置图片宽高比例 intent.putExtra("aspectY", 1); intent.putExtra("outputX", 240);//设置图片宽高 intent.putExtra("outputY", 240); intent.putExtra("return-data", false);//该属性设置为false表示拍照后不会将数据返回到onResluet方法中(建议设置为false,这样获取的图片会比较清晰) intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));//该属性设置的是拍照后图片保存的位置 intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());//设置输出格式 intent.putExtra("noFaceDetection", true);//是否取消人脸识别 /*ComponentName componentName = intent.resolveActivity(context.getPackageManager()); Log.d("TAG", "cropphoto: "+componentName); if (componentName!=null){ fragment.startActivityForResult(intent,Variable.request_crop); }*/ fragment.startActivityForResult(intent,Variable.request_crop); }

8. android从相册选取图片裁剪,裁剪的时候图片变为黑色的,怎么解决

有可能是手机加载过慢 暂时显示 如果不是建议返回 不然照片没救了

9. 请问安卓ui切图的时候,不规则的图也需要拉伸么

根据app的设计经验来看,是不需要的。最终导出的png都是一样的。尺寸一样,大小也一样。没什么分别。但是切图的时候,有几个要点需要注意:

1、取整,所有图片的宽度和高度都应该是整数,ios有抗锯齿机制,如果图片尺寸不是整数,本来很清晰的图片会变得模糊。而且图片上下左右边缘最好留有一像素以上的透明区域。以防程序员做动画的时候边缘产生锯齿。因为ios是对图片内部做抗锯齿处理,对边缘是不会做处理的。

2、可重复元素,比如背景图,可以用很小的一小块,平铺开来。还有按钮的左右部分,中间留一像素可以展开就可以。

3、存图和命名,IOS平台需要用到大小两套图形,iPhone3和3GS用的是小图,320x480。而iPhone4和4S用的是640x960的分辨率(iPhone5用的是640x1136)因此腰存成两套图,小图直接后缀.png即可,而大图的名字后面需要加一个@2x.png。方便程序区分。

至于Android,为了兼容多平台,一般需要三套不同规格的图片。

10. 如何在Android手机上批量剪切图片

若手机需要编辑图片,如果使用的是三星手机产品,请参考以下内容:
1.手机支持图片编辑器功能:打开照相机-点开某张图片-菜单键-编辑-图片编辑器-然后可以编辑图片。
2.下载第三方美图软件编辑,如美图秀秀、网络魔图等软件。

阅读全文

与android裁剪图片不规则相关的资料

热点内容
好兴动app还款怎么登录不上去了 浏览:663
郑州云服务器托管 浏览:720
服务器地址跟踪 浏览:978
免费google云服务器 浏览:516
摘译和编译的英文 浏览:359
热泵压缩机选型 浏览:121
op手机微信加密如何解除 浏览:386
如何在王牌战争找到高爆率服务器 浏览:13
江浙小学语文辅导课用什么APP 浏览:99
新梦幻大陆服务器地址 浏览:241
网吧服务器怎么更换壁纸 浏览:530
linux命令方法 浏览:332
linux下载freetype 浏览:123
程序员入驻平台 浏览:327
程序员大战外挂 浏览:745
html实例教程pdf 浏览:157
linux命令开放所有权限 浏览:575
30岁能学会编程 浏览:737
小火箭的服务器是什么 浏览:967
cad查信息命令 浏览:402