Это мой второй вопрос по этой теме сегодня, но по предыдущему кажется, что я не достаточно ясен.
У меня есть мероприятие, в котором я создаю свою собственную камеру для фотографирования.
В методе onCreate()
этого действия я делаю что-то вроде:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
в противном случае весь мой экран выглядит так:
В любом случае это решает мои проблемы на данный момент, и изображение выглядит хорошо.
После съемки фотографии я использую пакет и отправляю изображение в другое задание (Упражнение B), где я редактирую изображение и после этого сохраняю изображение на веб-сайте.
И вот проблема:
Картинка, полученная в этом упражнении, снова неверно ориентирована, как здесь:
! [введите описание изображения здесь] [1], потому что я не выполнял никаких операций над самим изображением, только с ориентацией деятельности.
Теперь я мог бы сделать здесь то же самое и установить действие в режиме LANDSCAPE
, и моя активность снова выглядела бы хорошо, но еще больше, когда я загружал изображение на веб-сайт, на веб-сайт за простой факт, что я ничего не сделал, чтобы установить ее собственную ориентацию.
Итак, в моем surfaceChanged()
- в activity A
, первом методе, я сделал что-то вроде этого:
Camera.Parameters p = mCamera.getParameters();
p.set("orientation", "landscape");
p.setRotation(90);
mCamera.setParameters(p);
Но это не влияет на изображение, оно выглядит так же.
Я работаю над Sony Ericsson
и мне нужна помощь в повороте моего изображения - не настраиваю orientation of my activity
!
Спасибо, я здесь для более подробной информации. Спасибо
EDIT:
В activity A
, где я делаю изображение, я делаю это:
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
public void onPictureTaken(byte[] imageData, Camera c) {
if (imageData != null) {
Intent mIntent = new Intent();
//StoreByteImage(mContext, imageData, 50, "ImageName");
mCamera.startPreview();
Bundle b = new Bundle();
b.putByteArray("imageData", imageData);
Intent i = new Intent(mContext,ImageDisplayActivity.class);
i.putExtras(b);
startActivity(i);
setResult(FOTO_MODE, mIntent);
finish();
}
}
};
И в activity B
, где я получаю изображение, я делаю это:
Bundle extras = getIntent().getExtras();
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 5;
byte[] imageData = extras.getByteArray("imageData");
Bitmap myImage = BitmapFactory.decodeByteArray(imageData , 0, imageData.length,options);
....///is set up the bitmap to an imageview