① 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類對象,打開不同的攝像頭。
不一定是最好的方法,但這是我知道的方法。