① android怎么实现图片旋转
可以使用RotateAnimation动画实现,设定无限循环即可
代码如下
java">{
ImageViewiv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
iv=(ImageView)findViewById(R.id.image);
RotateAnimationanimation=newRotateAnimation(0,360);
animation.setDuration(100000);//设定转一圈的时间
animation.setRepeatCount(Animation.INFINITE);//设定无限循环
animation.setRepeatMode(Animation.RESTART);
iv.startAnimation(animation);
}
}
也可以自定义view继承于imageview,启动一个线程,在while循环里设置view的旋转角度
{
privatefloatmCurDegree=0;//当前旋转角度
publicRotateView(Contextcontext,AttributeSetattrs){
super(context,attrs);
newThread(this).start();
}
@Override
protectedvoidonLayout(booleanchanged,intleft,inttop,intright,
intbottom){
super.onLayout(changed,left,top,right,bottom);
//设定旋转中心
setPivotX(getMeasuredWidth()/2);
setPivotY(getMeasuredHeight()/2);
}
@Override
publicvoidrun(){
while(true){
setRotation(mCurDegree);
mCurDegree+=5;
postInvalidate();
SystemClock.sleep(16);
}
}
}
在布局文件里使用RotateView代替imageview即可
② android 怎么得到手机拍照照片的旋转角度
具体思路:
1、首先在调用拍照方法时,保存拍照后的相片原图,得到原图路径,(PhotoBitmapUtils是我自己写的一个工具类)
String fileName = "";
/**
* 启动相机拍照
*/
private void addBitmapShoots() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 设置图片要保存的 根路径+文件名
fileName = PhotoBitmapUtils.getPhotoFileName(getContext());
File file = new File(fileName);
if (!file.exists()) {
try {
file.createNewFile();
③ android camera竖屏录制视频保存的文件,导入到电脑也是旋转90,这要怎么处理呢
/**
* 旋转
*
* @param src目标文件
* @param des源文件
* @param width
* @param height
*/
public static void rotateYUV240SP(byte[] src, byte[] des, int width,
int height) {
int wh = width * height;
// 旋转Y
int k = 0;
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
des[k] = src[width * j + i];
k++;
}
}
for (int i = 0; i < width; i += 2) {
for (int j = 0; j < height / 2; j++) {
des[k] = src[wh + width * j + i];
des[k + 1] = src[wh + width * j + i + 1];
k += 2;
}
}
}
④ android 图片旋转问题
关于android系统的图片旋转问题,你可以用下了程序:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_ALT_LEFT)//调音键加
imageView = (ImageView) findViewById(R.id.imageView1);
RotateAnimation rotateAnimation = new RotateAnimation(0, 10,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);//显示动画
rotateAnimation.setFillAfter(true);
imageView.startAnimation(rotateAnimation);
return super.onKeyDown(keyCode, event);
}
如果用画布进行图片的旋转,那么进行下列操作:
步骤:
1、画布平移坐标原点
2、旋转画布
示例代码
canvas.save();//保存当前画布状态
canvas.translate(x, y); //将坐标中心平移到要围绕的坐标点x,y
canvas.rotate(90);//旋转角度,这里比如90度
canvas.restore();//恢复画图状态到保存前
⑤ android camera 竖屏显示,但是保持的图片旋转了90°,怎么办
字体的话就选字体
图片的话 除非你屏够大 不然旋转了图片也看不全 或者压缩了
旋转图片可以用windows的图片阅览器,也可以用其他软件编辑,
当然 播放器也有这个功能,在你建立的播放文件里面,有这个旋转选项
⑥ android 录像图像预览正常 上传服务器后反转90度
主要参考系统相机代码实现getDisplayOritation就可以了
//在preview之前调用setDisplayOrientation
int degrees = getDisplayOritation(getDispalyRotation(), cameraId);
mCamera.setDisplayOrientation(degrees);
mCamera.startPreview();
⑦ Android 图片旋转
旋转图片通常的方法:
但是找到另一种方法,根据网上的方法改的,网络上的只支持90度旋转,其他角度有问题。但是改造后只支持90、270、360以及其负值的角度旋转:
第二种方法效率比第一种快40%左右,第二种不能支持任意角度旋转,但是需要对于需要提高效率的地方,这个方法真管用。
⑧ 现在 做了个 android 视频录制的程序 ,后置摄像头总是旋转90度,如何用代码实现正常。
MediaRecorder 中一个方法setCamera();所以可以先设置好摄像头的参数,然后再设置到MediaRecorder 中(但是录制前需要解锁)。
部分关键的代码如果下:
//初始化相机信息
Camera mCamera = Camera.open();
Camera.Parameters params = mCamera.getParameters();
mCamera.setDisplayOrientation(90);//旋转了90度,最好先判断下JDK的版本号,再决定旋转不
mCamera.setParameters(params);
mCamera.stopPreview();
mCamera.unlock();//解锁
videoMediaRecorder.setCamera(mCamera);
⑨ android 用 SurfaceView 预览 拍照,竖屏时,显示的图像旋转了90度,怎么处理
设置activity不让它重力感应
⑩ android1.6系统双摄像头,前置摄像头拍摄正常,后置摄像头总是旋转90度,如何用代码实现正常。
使用两个Activity切换实现。
一个前置摄像头Activity1的this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
一个后置摄像头Activity2
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
生成各自不同的preview类对象,打开不同的摄像头。
不一定是最好的方法,但这是我知道的方法。