我正在创建一个应用程序,我为相机制作了自定义叠加层.我注意到当我使用相机的正常默认值时,会出现预览,您可以选择重新拍摄照片或使用它.在使用自定义叠加层时,是否有一种简单的方法来显示该屏幕?谢谢!
我对将图像视图设置为相机拍摄的照片感兴趣。相机应用程序运行良好,并且将图像保存在sd卡中的适当位置,但是当我尝试加载图像并将其设置为图像视图时,它保持空白。除了使用最近拍摄的图像的路径之外,我还尝试对现有图像的路径进行硬编码,但是遇到了同样的问题。我检查了其他线程,但是看不到代码中的任何差异。
这是相机功能:
private void takePicture(){
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "/resources/resources/WI"+job_num);
image_name = username+"_"+date+".png";
File image_file = new File(imagesFolder, image_name);
while(image_file.exists()){
image_name = username+"-"+date+"("+ image_count+").png";
image_count+=1;
image_file = new File(imagesFolder,image_name);
}
image_path = imagesFolder+image_name;
Uri uriSavedImage = Uri.fromFile(image_file);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
int request_code = 100;
startActivityForResult(imageIntent, request_code);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
ImageView thumb = (ImageView) findViewById(R.id.thumbnail);
Bitmap bmp = BitmapFactory.decodeFile(image_path);
thumb.setImageBitmap(bmp);
Toast.makeText(this, "Image …Run Code Online (Sandbox Code Playgroud) 即使它看起来像一个简单的程序,现在是3个小时,我正在尝试没有成功.我可能错过了一些非常愚蠢的东西.
所以,我有这个应用程序从互联网上下载视频.视频正确存储在本地,因为我可以播放它们提供本地网址.但是,我无法成功将视频复制到相机胶卷.这是我做的:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
ALAssetsLibraryWriteVideoCompletionBlock videoWriteCompletionBlock =
^(NSURL *newURL, NSError *error) {
if (error) {
NSLog( @"Error writing image with metadata to Photo Library: %@", error );
} else {
NSLog( @"Wrote image with metadata to Photo Library %@", newURL.absoluteString);
}
};
NSLog(@"file %@", localPath);
NSURL *url = [NSURL fileURLWithPath:localPath isDirectory:NO];
[library writeVideoAtPathToSavedPhotosAlbum:url
completionBlock:videoWriteCompletionBlock];
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是:
2013-07-24 00:13:32.094 App[1716:907] file /var/mobile/Applications/70C18C4E-9F97-4A6A-B63E-1BD19961F010/Documents/downloaded_video.mp4
2013-07-24 00:13:32.374 App[1716:907] Wrote image with metadata to Photo Library (null)
Run Code Online (Sandbox Code Playgroud)
当然,文件不会保存在相机胶卷中.它是一个简单的mp4,与我正在使用的设备兼容(即应该可以保存它).
老实说,我不知道该怎么做.任何提示都将受到高度赞赏.谢谢
我正在尝试完成以下结果:
将我的UIImagePickerController的框架设置为200 x 200,
将我的框架设置在右下角(就像Facetime/Skype一样)
并显示前/后(无关紧要)相机流.
这是我的代码,出于某种原因,setFrame无效!
self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.view.frame = CGRectMake(600, 400, 200, 200); // NOT WORKING !!!
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = NO;
self.picker.delegate = delegate;
[self presentViewController:self.picker animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
我看过类似的SO主题,但他们都在谈论如何
在UIImagePickerController上设置一个视图,而不是我的问题.
我尝试将self.picker添加到大小为200 x 200的自定义UIView中,但仍然如此
没有成功.
我在这做错了什么?
谢谢
我有一个应用程序,应该能够在几分钟内扫描大量的QR码.所以它必须是被动的.我使用ZBarSDK,我很满意.
当代表收到数据时processScannedData:(NSString *)scannedData,我会显示一条必须手动关闭的消息.为了快速,我通过与AVCaptureDevice交互来锁定焦距,假设下一个QR码将以相同的距离呈现.
除了在一种情况下,该系统运行良好:当我在扫描后显示我的信息时,我不会停止相机以避免失去我刚刚锁定的焦点.如果您在解除消息之前提供下面的下一个QR代码,我的processScannedData:(NSString *)scannedData委托方法将捕获它并按预期忽略数据.唯一的问题是,如果您在此时关闭消息(将相机保持在QR码之上),将无法接收数据但是已经触发了委托方法,您将被迫在另一个方向上寻找几秒钟点,然后回到你的QR码.
所以这是我的问题:在我明确告诉他这样做之前,是否可以告诉ZBar我不希望他解雇委托方法?是否可以在不停止相机的情况下停止处理数据?
谢谢您的帮助
嗨,我试图在Sony Xperia E设备上运行phonegap相机样本.该应用程序正确地在设备中启动,但是当我点击捕获照片按钮时,我得到并且警告框显示"失败,因为:找不到课程".在eclipse的LogCat视图中,我发现了以下错误日志:
W/System.err: java.lang.ClassNotFoundException: org.apache.cordova.CameraLauncher
W/System.err: at java.lang.Class.classForName(Native Method)
W/System.err: at java.lang.Class.forName(Class.java:217)
W/System.err: at java.lang.Class.forName(Class.java:172)
W/System.err: at org.apache.cordova.PluginEntry.getClassByName(PluginEntry.java:117)
W/System.err: at org.apache.cordova.PluginEntry.createPlugin(PluginEntry.java:93)
W/System.err: at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:264)
W/System.err: at org.apache.cordova.PluginManager.execHelper(PluginManager.java:219)
W/System.err: at org.apache.cordova.PluginManager.exec(PluginManager.java:214)
W/System.err: at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
W/System.err: at android.webkit.WebViewCore.nativeMouseClick(Native Method)
W/System.err: at android.webkit.WebViewCore.nativeMouseClick(Native Method)
W/System.err: at android.webkit.WebViewCore.access$6700(WebViewCore.java:57)
W/System.err: at android.webkit.WebViewCore$EventHub.dispatchWebKitEvent(WebViewCore.java:1856)
W/System.err: at android.webkit.WebViewInputDispatcher.dispatchWebKitEvent(WebViewInputDispatcher.java:689)
W/System.err: at android.webkit.WebViewInputDispatcher.dispatchWebKitEvents(WebViewInputDispatcher.java:639)
W/System.err: at android.webkit.WebViewInputDispatcher.access$800(WebViewInputDispatcher.java:78)
W/System.err: at android.webkit.WebViewInputDispatcher$WebKitHandler.handleMessage(WebViewInputDispatcher.java:1153)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err: at android.os.Looper.loop(Looper.java:137)
W/System.err: at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:827)
W/System.err: at java.lang.Thread.run(Thread.java:856)
W/System.err: Caused by: java.lang.NoClassDefFoundError: org/apache/cordova/CameraLauncher
W/System.err: …Run Code Online (Sandbox Code Playgroud) 我有一个IP摄像机,我想在我的网页上显示实时取景。
IP摄像机不允许匿名登录,因此我需要在连接时输入用户名和密码。
我有JavaScript:
<img src="http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi?" width="640" height="480" name="refresh">
<script language="JavaScript" type="text/javascript">
image = "http://camera_ip_address/cgi-bin/jpg/image.cgi?"
function Start() {
tmp = new Date();
tmp = "?"+tmp.getTime()
document.images["refresh"].src = image+tmp
setTimeout("Start()", 100)
}
Start();
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
它在Firefox中可以正常工作,但:
http://user:password@camera_ip_number
Run Code Online (Sandbox Code Playgroud)
不能在其他浏览器中使用(它弹出一个输入用户名和密码的表格)。
但是在PHP中,您可以使用user:password,我已经通过使用以下命令进行了检查:
<?php
header('Content-type: image/jpeg');
print( file_get_contents( 'http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi?' ));
?>
Run Code Online (Sandbox Code Playgroud)
当然,它只显示一帧,但您不必输入用户名和密码。
如何使用PHP登录IP摄像机?如果我可以在登录网页时登录一次,则我的JavaScript可以正常运行,因为浏览器会记住用户名和密码,直到我关闭浏览器为止。
我不知道如何发送用户名和密码进行登录。
对不起我的英语不好。
我已经实现了自己的取景器和相机逻辑来捕捉图像.这一切都很好,除了一些奇怪的方向问题.使用我的应用拍摄的照片可以是纵向或横向模式.当我通过内置照片应用程序浏览照片时,方向符合预期.当我通过USB连接手机时从PC浏览图片时,缩略图始终处于横向状态,但是当我打开文件时,照片正好处于纵向模式.当我将应用程序中的图像绑定到Telerik PanAndZoom图像时,方向再次出错.
这是我的初始化代码.
Windows.Foundation.Size best;
// Initialize the camera, when available.
if (PhotoCaptureDevice.AvailableSensorLocations.Contains(CameraSensorLocation.Back))
{
// Use the back camera.
best = FindBestResolutuion(CameraSensorLocation.Back, AspectRatio.R_16_9);
_captureDevice = await PhotoCaptureDevice.OpenAsync(CameraSensorLocation.Back, best);
_captureDevice.SetProperty(KnownCameraPhotoProperties.FlashMode,
}
else if (PhotoCaptureDevice.AvailableSensorLocations.Contains(CameraSensorLocation.Front))
{
// Otherwise, use the front camera.
best = FindBestResolutuion(CameraSensorLocation.Front);
_captureDevice = await PhotoCaptureDevice.OpenAsync(CameraSensorLocation.Front, best);
}
if (Math.Round(best.Width / best.Height, 1) == 1.3)
_detecteAspectRatio = AspectRatio.R_4_3;
else
_detecteAspectRatio = AspectRatio.R_16_9;
SetOrientation(this.Orientation);
//Set the VideoBrush source to the camera.
viewfinderBrush.SetSource(_captureDevice);
Run Code Online (Sandbox Code Playgroud)
这是捕获的代码.
if (!_capturing)
{
_capturing = true;
_captureMemoryStream …Run Code Online (Sandbox Code Playgroud) 我想检测每个Android设备上的相机文件夹.从我读过这个文件夹从制造商到另一个不同,也不能保证会有设备上甚至DCIM文件夹.
这是我现在用来获取文件的方法:
private static final Set<String> FILTER_FOLDERS = new HashSet<String>(
Arrays.asList(new String[] { "camera", "100andro", "100media" }));
private Set<String> getCameraPictures() {
final String[] columns = new String[] {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATA,
MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
MediaStore.Images.ImageColumns.DISPLAY_NAME,
MediaStore.Images.ImageColumns.DATE_TAKEN,
MediaStore.Images.ImageColumns.MIME_TYPE };
// Order by options - by date & descending
final String orderBy = MediaStore.Images.ImageColumns.DATE_TAKEN
+ " DESC";
// Stores all the images from the gallery in Cursor
final Cursor cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, // base URI for
// the Images
columns, // Which columns to …Run Code Online (Sandbox Code Playgroud) 我正在尝试为Android应用程序创建自定义相机。我已经通过自己的客户界面成功获取了相机进行拍照并保存。SurfaceView预览也将以“纵向”模式显示(需要)。我的问题是,保存图片后,它们不会以拍摄照片时相机所处的方向显示。我知道这里有一些与我的问题非常相似的问题,但是他们无法帮助我。我用于测试此功能的电话(当然是在仿真器之外)是HTC Evo 4G。下面是我的代码分解。非常感谢您提供的任何帮助!请注意,我将所有这些都放在一个类中,并将图像另存为文件而不是位图。
表现
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<activity android:name=".CameraClass"
android:screenOrientation="portrait" />
Run Code Online (Sandbox Code Playgroud)
按钮点击
btn_takepicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mCamera.takePicture(null, null, pic_call);
Toast.makeText(getApplicationContext(), "Picture Added!", Toast.LENGTH_SHORT).show();
}
});
Run Code Online (Sandbox Code Playgroud)
图片回调方法
private PictureCallback pic_call= new PictureCallback() {
public void onPictureTaken(byte[] datas, Camera mCamera) {
// TODO Auto-generated method stub
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/Images/");
myDir.mkdirs();
if (myDir.exists()){
}
Random generator = new Random(); …Run Code Online (Sandbox Code Playgroud) camera ×10
android ×4
ios ×4
iphone ×2
autologin ×1
avfoundation ×1
cordova ×1
delegates ×1
directory ×1
imageview ×1
ip ×1
javascript ×1
objective-c ×1
orientation ×1
overlay ×1
php ×1
plugins ×1
zbar-sdk ×1