嗨,我正在尝试使用相机在我的应用程序中捕获图像.特别之处在于我需要一个方形预览区域(最后是图片).我尝试将图片和预览的大小定义为1:1的像素比例,但没有任何接缝可以工作.无论我做什么,这张照片都在广场上被"压扁"了.
谁知道如何解决这个问题?
码:
public class AddFromCameraActivity extends Activity implements SurfaceHolder.Callback {
private Camera mCamera;
private Parameters mParameters;
private SurfaceView mCameraPreview;
private SurfaceHolder mSurfaceHolder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.addimagefromcameramain);
initialise();
//Testing area
mCamera = Camera.open();
mParameters = mCamera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO);
mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
mParameters.setJpegQuality(50);
mParameters.setJpegThumbnailQuality(50);
mParameters.setPictureSize(1024, 1024);
//mParameters.setPreviewFormat(ImageFormat.JPEG);
mParameters.setJpegThumbnailSize(256, 256);
mParameters.setPreviewSize(500, 500);
mCamera.setParameters(mParameters);
}
private void initialise()
{
mCameraPreview = (SurfaceView)findViewById(R.id.cameraSurfaceView);
mSurfaceHolder = mCameraPreview.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceHolder.setFixedSize(500, 500);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) { …Run Code Online (Sandbox Code Playgroud) 我正在使用基于navBased的应用程序中的推送通知.在AppDelegate.m中didRegisterForRemoteNotificationsWithDeviceToken:在调用registerForRemoteNotificationTypes时不调用:代码如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// Get a hex string from the device token with no spaces or < >
NSLog(@"applicationDidFinishLaunchingWithOptions dev token test");
NSString *deviceTokenStr = [[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""];
NSLog(@"Device Token: %@", deviceTokenStr);
}
Run Code Online (Sandbox Code Playgroud)
我很确定配置文件不是问题所在.我发现错误:
注册时出错.错误:错误Domain = NSCocoaErrorDomain Code = 3000"为应用程序找到无效的'aps-environment'权利字符串"UserInfo = 0x115490 {NSLocalizedDescription =找不到应用程序的有效'aps-environment'权利字符串} …
我有一个视图,其中包含内容为图像的子图层.
我希望通过myView.image获取视图的图像,但显然视图没有图像只是图层.
如何从视图的图层创建UIImage?
我正在使用CoreMotion获取ccompass标题,我注意到罗盘标题存在一些问题.
首先我初学CoreMotion.我有一个CMMotionManager对象,locationManager,它是CMMotionManager的一个实例.
// initialize CoreMotion
motionManager = [CMMotionManager new];
[motionManager setDeviceMotionUpdateInterval:1.0/30.0];
[motionManager setShowsDeviceMovementDisplay:YES];
[self.motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXTrueNorthZVertical];
Run Code Online (Sandbox Code Playgroud)
位置数据每1/30.0秒更新一次.
出于调试目的,我有一个UILabel,它显示每个更新间隔更新的当前罗盘标题.应用程序启动时,我总是要做神奇的8来校准指南针.
校准指南针后,北极和南极的航向几乎是2-5秒.
几秒钟后,指南针变得狂野,角度四处跳跃.大多数情况下,它从两个方向的起始位置漂浮在10-20度左右.应该有一个奇怪的结果.经过30-60秒后,南北两次互换或向东和向西交换.
在WWDC 2011上,一个会议讨论了他们如何计算每个传感器与另一个传感器以补偿这些问题.在CoreMotion的配置中是否有任何错过我有这个精确标题结果的大问题?
我现在用3个设备(2个iPhone 4s和iPhone 4)在建筑物内外测试指南针.我在田野,小城市和大城市.它一直在发生.来自Apple的示例指南针应用程序几乎准确,在我的测试中准确率为90%.不幸的是,它不是Apple开源的.
谢谢你的阅读.
我有一个用C++编写的静态库,我有一个描述数据格式的结构,即
struct Format{
long fmtId;
long dataChunkSize;
long headerSize;
Format(long, long, long);
bool operator==(Format const & other) const;
};
Run Code Online (Sandbox Code Playgroud)
一些数据格式被广泛使用,例如{fmtId=0, dataChunkSize=128, headerSize=0},{fmtId=0, dataChunkSize=256, headerSize=0}
有些数据结构类在构造函数中接收格式.我希望为那些广泛使用的格式提供某种快捷方式,比如我可以通过引用传递的几个全局Format成员gFmt128, gFmt256.我在.cpp文件中实例化它们
Format gFmt128(0, 128, 0);
而且.h有
extern Format gFmt128;
另外,我声明Format const & Format::Fmt128(){return gFmt128;}并尝试在主模块中使用它.
但是,如果我尝试在使用lib的主模块中执行此操作,则链接器会抱怨未解析的外部gFmt128.
如何让我的库'导出'那些全局变量,所以我可以从其他模块中使用它们?
目前,我设置了一个本机函数,我在 Java 端的 onDestroy() 期间调用该函数。我在分配内存的任何本机端指针上调用 free() 。如果我也在这个函数中调用 glDeleteBuffers(),我会在 logcat 中得到一个错误说明
在没有当前上下文的情况下调用 OpenGL ES API(每个线程记录一次)
我认为我可以中断后退按钮按下并更优雅地处理事情,但如果应用程序以另一种方式被杀死,确保我及时释放 gl 资源的最佳方法是什么?
我目前正在尝试为新的 arm64 架构编译我的库。我有一堆 NEON 组件,对于所有组件我都收到错误
asm.h 中未知的寄存器名称“q0”
即使我写得这么简单:
asm (
""
:
:
: "q0", "q1", "q2", "q3"
);
Run Code Online (Sandbox Code Playgroud)
我以为arm64支持NEON。我错过了什么吗?