我正在努力捕获使用4.0返回的图像
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
// MediaType can be kUTTypeImage or kUTTypeMovie. If it's a movie then you
// can get the URL to the actual file itself. This example only looks for images.
//
NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];
// NSString* videoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
// Try getting the edited image first. If it doesn't exist then you get the
// original image.
//
if (CFStringCompare((CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) {
UIImage* picture …Run Code Online (Sandbox Code Playgroud) 是否有人能够提供一个关于如何使用Xamarin.Forms 1.3.x访问相机的简短,自包含的示例?只需调用本机相机应用程序并检索生成的图片就会很棒.在Xamarin.Forms页面上显示实时视图真棒!
我已经尝试过使用Xamarin.Mobile和Xamarin.Forms.Labs,但我无法在这两个平台上使用任何解决方案(现在专注于Android和iOS).Web上发现的大多数代码片段(包括stackoverflow)都是不完整的,例如没有显示IMediaPicker对象的实现或者锚定拍照方法的位置.
我正在做的事情似乎应该很简单,但在我阅读了每一个可能的Stackoverflow答案之后我仍然迷失了,我可以找到并搜索我能找到的每篇文章.
我正在使用预览SurfaceView并从我在AndroidManifest.xml中为screenOrientation ="landscape"设置的活动中捕获图像.
我按照示例相机应用程序代码进行操作,直到我在运行1.5的一些摩托罗拉设备上尝试我的应用程序之前一直工作.
我让OrientationEventListener运行正常,我使用反射来查看是否设置旋转:
final int latchedOrientation = roundOrientation(mLastOrientation + 90);
Parameters parameters = preview.camera.getParameters();
JPLog.d("Setting camera rotation = %d", latchedOrientation);
try {
// if >= 2.0
Method method = Camera.Parameters.class.getMethod("setRotation",
int.class);
if(method != null) {
method.invoke(parameters, latchedOrientation);
}
} catch(Throwable t) {
// if < 2.0
parameters.set("rotation", latchedOrientation);
}
preview.camera.setParameters(parameters);
Run Code Online (Sandbox Code Playgroud)
NexusOne(OS 2.2) - 效果很好.latchedOrientation = 0,图片OK在EXIF标题中没有任何旋转.
T-Mobile G1(OS 1.6) - 也很棒.latchedOrientation = 0,图片确定.
摩托罗拉Backflip(OS 1.5) - 图像旋转.latchedOrientation = 0,图片中没有EXIF旋转.
Motorola CLIQ(OS 1.5) - 图像旋转.latchedOrientation = 0,图片中没有EXIF旋转.
这些摩托罗拉设备发生了什么变化?我认为我的问题是摩托罗拉相机驱动程序没有旋转图像,所以找到了Android的Sanselan EXIF阅读课,并准备自己旋转它们.有趣的是,有EXIF标题但没有旋转元素. …
有人知道新iPhone4相机的视野值吗?我正在做一些AR应用程序,我想知道后置摄像头的水平和垂直角度.
谢谢!
当我学习OpenGL时,我常常偶然发现所谓的眼睛空间坐标.
如果我是对的,你通常有三个矩阵.模型矩阵,视图矩阵和投影矩阵.虽然我不完全确定背后的数学是如何工作的,但我确实知道转换坐标到世界空间,视图空间和屏幕空间.
但是眼睛空间在哪里,我需要将哪些矩阵转换为眼睛空间?
我从这个链接克隆了一个关于Web浏览器上实时图像处理的项目:然后我无法允许我的浏览器访问我的相机.我收到了这个javascript警报:
呃哦,网络摄像头没有启动.你有网络摄像头吗?你给了它许可吗?刷新再试一次.并且不显示允许按钮,就像我访问他的网站一样.

注意相机的视图(不是被捕获的图像)是如何向左翻转的(上图),方向Activity是正确的,但相机视图搞砸了,请帮帮我们:)谢谢.
这是XML布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|top"
android:orientation="vertical" >
<SurfaceView
android:id="@+id/camerapreview"
android:layout_margin="10dp"
android:layout_width="300dp"
android:layout_height="300dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以下是活动的代码:
public class CustomCameraActivity extends Activity implements SurfaceHolder.Callback {
Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.camera);
surfaceView = (SurfaceView)findViewById(R.id.camerapreview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) …Run Code Online (Sandbox Code Playgroud) 我正在为Android应用程序制作自定义相机,如"SnapChat",但相机预览在诸如(Moto g第二代,一个+一个)但很少(三星s3,三星s4)等少数设备上延伸.我使用以下参考 全屏相机显示/预览不保持纵横比 - 图像歪斜,拉伸以适应屏幕.但这对我100%没有帮助.我在分享屏幕.
三星摩托G第二代的拉伸图像是.

没有拉伸的三星S3图像是Above
private void setPreviewLayout() {
if (null == mCamera) {
return;
}
Camera.Parameters parameters = null;
Camera.Size size = null;
try {
int screenWidth = (int) getResources().getDisplayMetrics().widthPixels;
int screenHeight = (int) getResources().getDisplayMetrics().heightPixels;
parameters = mCamera.getParameters();
size = getOptimalPreviewSize(mCamera.getParameters().getSupportedPreviewSizes(), screenWidth, screenHeight);
if (size != null) {
parameters.setPreviewSize(size.width, size.height);
}
parameters.setPictureSize(screenHeight, screenWidth);
;
mCamera.setParameters(parameters);
if (on && currentCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
} else {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
}
parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);
parameters.setExposureCompensation(0);
parameters.setPictureFormat(ImageFormat.JPEG);
parameters.setJpegQuality(100);
List<String> focusModes = parameters.getSupportedFocusModes(); …Run Code Online (Sandbox Code Playgroud) 嘿我正在android studio中设计一个应用程序.我需要相机的许可.我已经包含<uses-permission android:name="android.permission.CAMERA" />
在AndroidManifest.xml文件中.它在除Marshmallow之外的所有Android版本中都能正常工作.如何默认获得相机权限?如果不可能,我该如何向用户询问?
camera ×10
android ×5
iphone ×2
orientation ×2
c# ×1
capture ×1
coordinates ×1
iphone-4 ×1
javascript ×1
matrix ×1
opengl ×1
projection ×1
rotation ×1
uiimage ×1