在我的Android应用程序中启动相机意图时遇到以下问题:如果应用程序是以方向启动的,比如描绘,则相机仅适用于描绘.如果您将手机方向更改为横向,应用程序正在运行或相机意图正在运行,并尝试拍摄风景照片,则应用程序将关闭并显示错误.就好像相机意图只能以应用程序启动时的方向拍摄.
只有在风景中开始我的应用程序才能在风景中拍摄照片,并且只有在我开始拍摄时才能拍摄肖像照片.启动相机意图的代码非常简单:
String path = (new StringBuilder()).append(Environment.getExternalStorageDirectory()).append("/"+fileName).toString();
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("output", outputFileUri);
startActivityForResult(intent, CAMERA_RESULT);
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会这样?我在清单中没有与相机方向有关的任何事情......
干杯
亚兰
我有佳能EOS 1000D.当我将其连接到计算机时,它列在控制面板>成像设备下.我想以编程方式拍照.
我想成像设备中列出的所有设备都有相同的接口(可能是TWAIN),并且有一种标准的方式向它们发送命令.TWAIN能做到吗?
任何有关此的关键字或信息表示赞赏.
我需要在android上实现一个使用相机的应用程序,它需要持续关注对象.每当用户更改相机位置时,它应自动对焦于该位置(非常像Google Goggles).
现在我使用以下代码:
camera.requestautofocus(autofocuscallbak);
Run Code Online (Sandbox Code Playgroud)
这很好用,但不是连续的......
我试图使用OpenCv来校正图像的失真,然后计算给定像素坐标的真实世界坐标.我无法在线或在OpenCv书中找到任何有关如何执行此操作的示例.
我用国际象棋棋盘图像完成了相机校准.现在,我只需要一个基本功能,我可以给出像素坐标,它将根据相机矩阵,失真系数,旋转和平移向量给出真实世界坐标.
有谁知道如何做到这一点?
我正在尝试启动内置摄像头来拍摄照片,这张照片的名称将由启动摄像头的活动指定.(以下代码)
当相机返回时,onActivityResult()直接进入resultCode == Activity.RESULT_CANCELED.对此和解决方案的任何解释将不胜感激.
相机确实拍摄了图像,我可以在带有文件查看器的SD卡中看到它,但它的名字来自相机的库存.如何将此拍摄图像的名称作为活动提供的图像?
相机意图代码
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File image = new File("Team image.jpg");
camera.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
camera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image));
camera.putExtra(MediaStore.Images.Media.TITLE, "Team image");
startActivityForResult(camera, PICTURE_RESULT);
Run Code Online (Sandbox Code Playgroud)
activityresult代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == PICTURE_RESULT){
if(resultCode == Activity.RESULT_OK) {
if(data!=null){
Bitmap image = BitmapFactory.decodeFile(data.getExtras().get(MediaStore.Images.Media.TITLE).toString());
grid.add(image);
images.addItem(image);
}
if(data==null){
Toast.makeText(Team_Viewer.this, "no data.", Toast.LENGTH_SHORT).show();
}
}
else if(resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(Team_Viewer.this, "Picture could not be taken.", Toast.LENGTH_SHORT).show();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在制作一个Camera应用程序,我在其中使用Surface View进行相机和所有其他工作.我从以下链接中获取了指南.
http://www.brighthub.com/mobile/google-android/articles/43414.aspx
现在一切正常,但问题是我无法在相机中看到任何变焦控制和亮度控制.如何设定请指导我.
提前致谢
我正在开发一个Android应用程序,允许用户使用Android摄像头拍摄一些照片.用户拍摄这些照片参加摄影比赛.所以,他拍了几张照片,这些照片应保存到特定的目的地,过了一会儿,他在这些照片之间循环,决定哪一个他将参加摄影比赛.那么,照片应该保存在不在画廊中的特定文件夹中以及其他不适合比赛的照片中.目前,我只是将照片保存到SD卡,我不知道如何将它们保存在某个文件夹中.
我必须说我已经建立了自己的相机但仍然不知道如何保存图像.
这是它的样子:
public class EditPhoto extends Activity implements SurfaceHolder.Callback, OnClickListener {
static final int FOTO_MODE = 0;
private static final String TAG = "CameraTest";
Camera mCamera;
boolean mPreviewRunning = false;
private Context mContext = this;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//doing things
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
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(); …Run Code Online (Sandbox Code Playgroud) 在Android 2.2及更新版本中,您可以使用Environment.DIRECTORY_DCIM获取默认的相机文件夹,但有没有办法在Android 2.1及更早版本中获取它?
我试图弄清楚如何使用iPhone相机拍摄图像并将其直接保存到应用程序文档文件夹中,如果可能的话,不要在相机胶卷中保存.
我有我的应用程序显示相机,我可以将图像保存到相机胶卷,但我想将其直接保存到apps文档文件夹.
任何的想法 ?
谢谢您的帮助.