Android 设置图像方向时出现问题
这是我今天关于这个话题的第二个问题,但在前一个问题上,我似乎还不够清楚 我有一项活动,我正在制作自己的相机以便拍照。 在这个活动的Android 设置图像方向时出现问题,android,camera,photo,Android,Camera,Photo,这是我今天关于这个话题的第二个问题,但在前一个问题上,我似乎还不够清楚 我有一项活动,我正在制作自己的相机以便拍照。 在这个活动的onCreate()方法中,我做了如下工作: this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 否则,我的整个屏幕如下所示: .无论如何,这暂时解决了我的问题,图像看起来不错 拍摄完照片后,我使用一个捆绑包将图像发送到另一个活动(活动B),在那里我编辑了照片,然后将图像保
onCreate()
方法中,我做了如下工作:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
否则,我的整个屏幕如下所示:
.无论如何,这暂时解决了我的问题,图像看起来不错
拍摄完照片后,我使用一个捆绑包将图像发送到另一个活动(活动B),在那里我编辑了照片,然后将图像保存到网站
问题是:
本次活动中收到的图片再次定位错误,如下所示:
![在此输入图像描述][1]因为我没有对图像本身进行任何操作,只对活动方向进行操作
现在,我可以在这里做几乎相同的事情,并在横向
模式下设置活动,我的活动将再次看起来很好,但更进一步,当我将图像上传到网站时,这在网站上看起来是错误的,因为我没有做任何事情来设置她自己的定位
因此,在我的surfaceChanged()
-在活动A
中,第一个方法中,我做了如下操作:
Camera.Parameters p = mCamera.getParameters();
p.set("orientation", "landscape");
p.setRotation(90);
mCamera.setParameters(p);
但这对图像没有影响,看起来是一样的
我正在从事索尼爱立信的工作,需要帮助旋转我的图像,而不是设置我活动的方向
谢谢,我在这里了解更多细节。谢谢
编辑:
在活动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();
}
}
};
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
在活动B
中,我正在接收图像,我正在执行以下操作:
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();
}
}
};
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
好吧,我有预感你高估了这个问题
在上传之前尝试旋转myImage
Matrix mat = new Matrix();
mat.postRotate(90);
image_to_upload = Bitmap.createBitmap(myImage, 0, 0, myImage.getWidth(), myImage.getHeight(), mat, true);
尝试不同的角度,我相信这就是问题所在,你会找到正确的路径。好的,我有预感,你高估了问题
在上传之前尝试旋转myImage
Matrix mat = new Matrix();
mat.postRotate(90);
image_to_upload = Bitmap.createBitmap(myImage, 0, 0, myImage.getWidth(), myImage.getHeight(), mat, true);
尝试不同的角度我相信这就是问题所在,你会找到正确的路径我正在使用一个捆绑包并将图像发送到另一个活动(活动B)
告诉我捆绑包
代码实际上我想知道的是图像是一个位图
?我正在使用一个捆绑包并将图像发送到另一个活动(活动B)
告诉我包
代码实际上我想知道的是图像是位图
?我可能估计过高,但我可以接受它了。我的帖子听起来可能有点戏剧性,但一旦成功,我会克服它的!是的,它正在工作:D…但我面临另一个问题——我不能让它看起来全屏:)只要问一下,别忘了把android
作为标签!我会尽力帮助你,我可能高估了它,但我可以接受它了。我的帖子可能听起来有点戏剧性,但一旦它起作用,我会克服它的!是的,它正在工作:D…但我面临另一个问题——我不能让它看起来全屏:)只要问一下,别忘了把android
作为标签!我会尽力帮忙的