IOS 照相问题

在iphone上时而出问题时而正常。反复测试后发现问题出在使用iphone摄像头拍摄的照片,这些照片尺寸是3264x2448,但是其实照片的尺寸是2448x3264,宽和高正好是相反的,后来我把照片导到电脑里,的确尺寸应该是2448x3264。原因是iPhone拍摄的图片的起始点是屏幕的左下角,所以宽和高是相反的。。

以下是通过mui 拍照功能、裁剪图片上传判断。

	//	拍照操作
	function getImage() {
		plus.camera.getCamera().captureImage(function(path) {
			plus.io.resolveLocalFileSystemURL(path, function(entry) {
				var path = entry.toLocalURL();
				var filename = entry.name;

				goShowImg(path, filename,1);
			}, function(e) {
				plus.nativeUI.toast("读取拍照文件错误:" + e.message);
			});

		}, function(e) {}, {
			filename: "_doc/camera/",
			index: 1
		});
	}

	// 相册选取
	function galleryImg() {
		plus.gallery.pick(function(path) {

			var filename = ‘images.jpg‘;
			//			alert(‘路径:‘ + path);
			goShowImg(path, filename,0);

		}, function(e) {
			console.log("取消选择图片");
		}, {
			filter: "image"
		});
	}

  

	//	跳转到裁剪页面
	function goShowImg(path, filename,camera) {
		//		alert(‘我要跳转了‘);
		console.log(‘camera: ‘ + camera)
		var image = new Image();
		image.src = path;
		mui.openWindow({
			url: ‘clip_img.html‘,
			id: ‘clip_img.html‘,
			extras: {
				path: path,
				filename: filename,
				idName: ‘goods_add.html‘,
				camera: camera
			},
			show: {
				autoShow: false
			}
		});
	}

  

 // 获得图片和屏幕的宽度,以及比例
	var imgtemp = new Image();
		imgtemp.src = img.src;
	var imgWidth;
	var imgHeight;
	var proportion;
	var displayWidth = plus.display.resolutionWidth;
	var system = plus.os.name;
	if(system !== ‘Android‘ && parseInt(camera)==1){
		imgWidth = imgtemp.width;
		imgHeight = imgtemp.height;
		proportion= getProportion(imgHeight, displayWidth);
	}else{
		imgWidth = imgtemp.width;
		imgHeight = img.height;
		proportion = getProportion(imgWidth, displayWidth);
	}

  

img.setAttribute("width", plus.display.resolutionWidth);

//  计算图片和显示屏的比例
    function getProportion(imgW, displayW) {
      return imgW  / displayW;
    }

  

时间: 2024-10-12 11:40:02

IOS 照相问题的相关文章

Xamarin.iOS 照相機功能的使用 (1) :最簡單的做法

iOS 提供我們幾種不同的方法使用照相機並且儲存於相簿. Xamarin.iOS 當然也可以很快地使用這樣的方法,使用照相機功能. 在這之前我們可以先稍微了解一下基本結構,如下圖. 若是有DirectX (DirectInput) 或是OpenGL ES 操作經驗的朋友就可以發現基本上的概念並沒有差很多.都是從獲取device開始,到準備好接收輸出的 byte[] 並管理,到決定輸出的格式為何. 我們現在先使用最簡單的 UIImagePickerController 來實現照相機功能 btnUI

iOS实现头像选取(照相或者图片库)、大小等比缩放、生成圆形头像

//弹出actionsheet.选择获取头像的方式//从相册获取图片 -(void)takePictureClick:(UIButton *)sender { // /*注:使用,需要实现以下协议:UIImagePickerControllerDelegate, // UINavigationControllerDelegate // */ // UIImagePickerController *picker = [[UIImagePickerController alloc]init]; //

iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇

数据库 1. FMDB – sqlite的工具, 多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类.GXDatabaseUtils – 在FMDB基础上的工具. 2. realm-cocoa – Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit.Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现. 3. Breeze – 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud . 4. Ale

iOS 实现头像选取(照相或者图片库)、大小等比缩放、生成圆形头像

// //  ViewController.h //  TestImageController // //  Created by huweibin on 15-5-17. //  Copyright (c) 2015年 taogu. All rights reserved. // #import <UIKit/UIKit.h> #import <MobileCoreServices/MobileCoreServices.h> #import <QuartzCore/Quar

自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常棒,所以好东西要分享,为啥用 CN 博客,有个好处,可以随时修改,可以持续更新,不用每次都要再发表,感觉这样棒棒的 我们 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.

iOS摄像头和相册-UIImagePickerController-浅析

转自:http://www.2cto.com/kf/201406/312257.html 在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频.并且从相册中选取我们需要的图片或者视频. 关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成控制. 关于UIImagePickerController的相关知识, 如下: iOS的一些设备上都安装了摄像头.现在绝大多数都有了. 在编程中,我们是用相应的东西来进行照相,录像等功能. 一.UIImagePick

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

iOS开发 非常全的三方库、插件、大牛博客等等

UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看"使用方法". (国人写) XHRefreshControl- XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHo

iOS、mac开源项目及库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou