2013-04-01 4 views
0

Я делаю программу, в которой мы фотографируем камеру, сохраняя ее в частной папке. Из-за того, что она извлекает изображения и отображает их в виде сетки. Щелкните на экране сетки, полноэкранное изображение. Проблема, с которой я столкнулся, заключается в том, что камера находится в портретном режиме, качество изображения идеально. Но если камера находится в ландшафтном режиме, она показывает растянутое изображение. Как я могу это преодолеть.Проблема При отображении изображения

+0

Проверьте разрешение изображения, которое вы хотите показать. Если высота больше ширины, покажите изображение в портретном режиме. В противном случае отобразите изображение в альбомном режиме. Это для тебя ли? – WELLCZECH

+0

Нет его возможного Я хочу отобразить изображение в портретном режиме iitself – achu

+0

ImageView не может определить, захвачен ли образ портретным или альбомным. ImageView может управлять только тем, как показывать изображение в заданном пространстве (заполнять, подгонка, ...) – WELLCZECH

ответ

1

Привет, посмотрите нижеприведенный код. перед сохранением захваченного изображения выполните следующий процесс. он сохранит изображения в портретном режиме. Надеюсь, что это поможет вам.

int rotation = -1; 
rotation = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)) 
       .getDefaultDisplay().getOrientation(); 



    Matrix rotator = new Matrix(); 
    switch (rotation) { 
    case (Surface.ROTATION_0): 
     break; 
    case (Surface.ROTATION_90): 
     rotator.postRotate(270); 
     break; 
    case (Surface.ROTATION_180): 
     rotator.postRotate(180); 
     break; 
    case (Surface.ROTATION_270): 
     rotator.postRotate(90); 
     break; 


    // screen_{width,height} are applied before the rotate, so we don't 
    // need to change them based on rotation. 
    bmp_ss = Bitmap.createBitmap(bmp_ss, 0, 0, screen_width, screen_height, rotator, false); 
+0

whats rotation hhere – achu

+0

см. Мой отредактированный ответ. – itsrajesh4uguys

Смежные вопросы