如何用jquery在缩略图的基础上裁剪出原图的尺寸

yangyile2011 2015-07-02 01:06:06
我在本地导出一张图片到浏览器上显示(是ie浏览器),然后对这张图片进行裁剪,裁剪得到的图片宽高希望是按原图的宽高比例来得到的。意思就是若是一张图片1000*600,导入到浏览器显示成500*500,而后对图片进行裁剪,而裁剪的图片宽高是相对于1000*600的,而不是相对于500*500的。
想问一下用jquery如何回显图片并且能得到相对于原图尺寸的裁剪图片宽高?具体的代码示例再好不过了
我之前做的图片是1600*1200的,回显设为300*300,而后裁剪图片的宽高最多也就300*300,而我就是想变成宽高最多是1600*1200.可是就是不行,
有人说回显原图就行了呗,可是ie我死活就回显不出来原图,更别提能拿到原图的宽高了。
希望有人帮帮忙
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangyile2011 2015-07-03
  • 打赏
  • 举报
回复
有谁能解答呀,帮帮忙
yangyile2011 2015-07-02
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
贴出你的代码,凭空说不清楚
//本地图片回显
function PreviewImage(obj, imgPreviewId, divPreviewId) {
    var allowExtention = ".jpg,.bmp,.gif,.png"; //,允许上传文件的后缀名
    var extention = obj.value.substring(obj.value.lastIndexOf(".") + 1).toLowerCase();
    var browserVersion = window.navigator.userAgent.toUpperCase();
    if (allowExtention.indexOf(extention) > -1) {
        if (browserVersion.indexOf("MSIE") > -1) {
            if (browserVersion.indexOf("MSIE 6.0") > -1) {//ie6
                document.getElementById(imgPreviewId).setAttribute("src", obj.value);
            } else {//ie[7-8]、ie9
                obj.select();
                var newPreview = document.getElementById(divPreviewId + "New");
                if (newPreview == null) {
                    newPreview = document.createElement("div");
                    newPreview.setAttribute("id", divPreviewId + "New");
                    newPreview.style.width = 300;
                    newPreview.style.height = 300;
                    newPreview.style.border = "solid 1px #d2e2e2";
                }
                newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + "../../imgs/cssimg/table/iconedit.gif" + "')";
                var tempDivPreview = document.getElementById(divPreviewId);
                tempDivPreview.parentNode.insertBefore(newPreview, tempDivPreview);
                tempDivPreview.style.display = "none";
            }
        } else if (browserVersion.indexOf("FIREFOX") > -1) {//firefox
            var firefoxVersion = parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);
            if (firefoxVersion < 7) {//firefox7以下版本
                document.getElementById(imgPreviewId).setAttribute("src", obj.files[0].getAsDataURL());
            } else {//firefox7.0+                    
                document.getElementById(imgPreviewId).setAttribute("src", window.URL.createObjectURL(obj.files[0]));
            }
        } else if (obj.files) {
            //兼容chrome、火狐等,HTML5获取路径                   
            if (typeof FileReader !== "undefined") {
                var reader = new FileReader();
                reader.onload = function (e) {
                    document.getElementById(imgPreviewId).setAttribute("src", e.target.result);
                };
                reader.readAsDataURL(obj.files[0]);
            } else if (browserVersion.indexOf("SAFARI") > -1) {
                alert("暂时不支持Safari浏览器!");
            }
        } else {
            document.getElementById(divPreviewId).setAttribute("src", obj.value);
        }
    } else {
        alert("仅支持" + allowExtention + "为后缀名的文件!");
        obj.value = ""; //清空选中文件
        if (browserVersion.indexOf("MSIE") > -1) {
            obj.select();
            document.selection.clear();
        }
        obj.outerHTML = obj.outerHTML;
    }
    
}


 //选取车辆图片的特征
function openImg(){
//	window.showModalDialog("openCarImg.jsp", "","dialogHeight:300px;dialogWidth:300px");
	var picUrl = document.selection.createRange().text;//图片路径
	if(picUrl == "" || picUrl == null){
		alert("请先导入图片");
		return;
	}
	$("#divNewPreviewNew").Jcrop({
		onChange:showCoords, //当选择区域变化的时候,执行对应的回调函数 
		onSelect:showCoords //当选中区域的时候,执行对应的回调函数 
	}); 
}
function showCoords(c) { 
	$("#txtX1").val(c.x); //得到选中区域左上角横坐标 
	$("#txtY1").val(c.y); //得到选中区域左上角纵坐标 
	$("#txtX2").val(c.x2); //得到选中区域右下角横坐标 
	$("#txtY2").val(c.y2); //得到选中区域右下角纵坐标 
	$("#txtWidth").val(c.w); //得到选中区域的宽度 
	$("#txtHeight").val(c.h); //得到选中区域的高度 
}

<td width="10%" align="right">
		选择车辆图片:
</td>
<td width="18%" id="">
		<input type="file" name="file5" id="file5" onchange="PreviewImage(this,'imgView','divNewPreview')"/> 
		<div id="divNewPreview" class="">
			<img id="imgView" src=""  alt=""/><br/>
		</div>
</td>
<td width="33%">
		<input  id='chooseBt' name="button" type="button" onclick="openImg()" value="选取车辆特征" />		
</td>

<tr>
	<td width="10%" align="right"><label>x1:</label><input type="text" id="txtX1" /></td>
	<td>      <label>y1:</label><input type="text" id="txtY1" /> </td> 
</tr>
<tr>
	<td width="10%" align="right"><label>x2:</label><input type="text" id="txtX2" /></td>
	<td>      <label>y2:</label><input type="text" id="txtY2" /></td>
</tr>	
<tr>
	<td width="10%" align="right"><label>width:</label><input type="text" id="txtWidth" /></td>
	<td><label>height:</label><input type="text" id="txtHeight" /></td>
</tr>
这个就是我的代码,包括本地导入图片回显和图片裁剪。裁剪到的x1,x2,y1,y2都是相对于回显的图片来说,而我真正想要的是按原图尺寸裁剪到的宽高
xuzuning 2015-07-02
  • 打赏
  • 举报
回复
贴出你的代码,凭空说不清楚
XIU主题是一款清新扁平风格、13种颜色、多设备支持、SEO优化、各种提速优化的Wordpress主题. 功能展示 清新·扁平:前端展示小清新,扁平化设计风格 SEO优化:你能想到的各种SEO优化,这里都做到了 速度优化:排除你的主机慢和安装超多插件,它的速度绝对给力 图片和头像提速:文章列表和头像都使用了lazyload做按需异步加载,你会发现访问速度上提升一大截 2种可选框架:支持3栏和2栏 13种可选颜色风格:基本上小清新的颜色都有了 3种列表模式:多图展示、单图展示、无图展示 7种连接符:设置你自己的很重要 文章来源:后台编辑文章有来源,前台有来源展示,尊重原创很重要 新窗口打开文章:有这个开关,说多了都是2 分享:让百度分享和网站更和谐 置顶焦点图:绝美展示,可自行设置置顶文章,且第一章大图可自定义 近期热门排行榜:最近多少天的评论热门文章排行,可设置天数和显示数量 独立页面:点赞最多的文章排行 导航多级菜单:不管你听不听,我是建议你最多二级就行 社交账号展示:微博、腾讯微博、微信(支持微信二维码展示)、订阅 导航图标自定义:优化后的搜索 jQuery加载:可设置在头部或者底部加载,底部有助于提高页面内容显示速度 文章小部件开启:可选择开启:阅读量、点赞、列表评论数、列表作者名字前加网站名称 首页近期发布文章数目:告诉用户最近你发布了多少文章 网站整体变灰:这个不解释,不好的日子或许会用到 分类url去除category字样:整合了no-category插件,只需选择就行,无需再安装 网页最大宽度:你可以调整页面显示的宽度了,不过默认是很不错的 首页关键字和描述:设置你自己的很重要,更有利于SEO 网站底部信息:你可以增加网站底部显示信息,比如:网站地图 侧栏随动:每种页面可设置不同的侧栏随动模块,首页、分类/标签/搜索页、文章页、页面可以不一样 更简洁的评论:想说:评论本该如此 默认字符修改:基本上全站所有的文章你都可以自定义了 广告位:首页3个、文章页3个,可设置各种广告自定义代码或联盟代码 自定义CSS样式:添加自己的css样式 自定义头部和底部代码:添加自己的头尾代码,如广告联盟等 网站统计代码:说多了等于扯淡 安装使用: WordPress版本:3.6+,浏览器支持:IE7+、Chrome、Firefox、360、QQ等各种浏览器; 在解压后的 xiu 文件夹中替换你自己的 logo.psd(24位),不要修改尺寸,请参照 font.jpg 中的字体,保存并替换 logo.png; 上传 xiu 文件夹到网站 wp-content/themes/ 目录下,进入网站后台-外观-主题,启用该主题; 进入外观-xiu主题设置,选择并设置你的喜好,点击保存; 导航图标设置:比如首页,在导航标签中写上 首页 获取更多图标,点击查看各种图标代码; 点赞墙、评论墙等独立页面怎么设置? 后台-页面-新建页面-选择页面模版,保存即可。 链接功能怎么玩来? 如果后台有链接功能的说明已经可以实现了,没有链接功能的请安装wp官方自己的插件link-manager即可 1.1版本升级: 解决no-category有可能失效的问题; 解决列表作者名前加网站名的样式问题; 解决相关文章缩略图导致部分文字不能正常显示的问题; 解决微信二维码不显示的问题; 增加自定义颜色风格,从此,你的颜色可以独一无二; 缩略图可以使用外链图片了,需要基本设置里开启,虽然不建议外链图; 增加选项在列表和文章有作者的地方是否会加上链接; 增加评论数只显示认为评论的选项; 2.0版本升级: 增加:英文版本; 增加:导航在顶部的2栏布局(后台主题设置中); 增加:2种分页模式的选择(后台主题设置中); 增加:指定一个或多个分类下文章不显示在首页(后台主题设置中); 增加:文章页面上一篇和下一篇模块; 增加:文章分页模块; 增加:移动端禁止百度自动转码; 增加:社交链接展示Facebook和Twitter; 增加:换色时,文章页面标题下信息文字变色; 增加:文章结尾版权信息可关闭的开关; 修复:文章摘要中可能现的图片代码; 修复:文章页 - 相关文章标题被截断的Bug; 修复:页面打开时不在顶部的问题,去除搜索框 autofocus; 修复:一周热门排行调取页面的问题,改为只能调取已发布的文章; 优化:文章内容段落首行缩进; 优化:文章摘要先取手动摘要部分,如果没有,则取文章内容的前一部分; 修复:富媒体广告代码可能被过滤的情况; 修复:文章结尾版权信息可能错位的情况; 优化:移动端底部风格; 优化:手机端不自动移除导航第一项; 优化:手机端不显示去顶部模块; 修复:视频无法自适应的Bug; 修复:404页面手机端错位情况; 修复:搜索无结果底部丢失情况; 优化:手机端多级评论展示; 修复:焦点图文字溢; 修复:手机端可能现的引用不显示Bug; 修复:文章单词截断Bug; 优化:全站连接符自行设置(后台主题设置中); 2.1版本升级: 增加新窗口打开文章(后台xiu主题-基本设置里选择,这个在第一版就有,只是后面忘记加配置了); 修复IE浏览器下的的文字截断问题; 修复手机端相关文章图片问题。 3.2版本更新: 新增Gravatar选择,可以是官方ssl,可以是默认,可以是多说; 修复已知的点赞Bug,原是JS报错; 取消缩略图的默认裁剪功能,裁不裁减你可以在后台定义; 侧栏聚合文章小工具新增显示纯图片模式; 列表模式新增4图模式; 一周热门排行可以按照阅读数来了; 新增特别推荐小工具,多种样式; 导航在顶部时,新增头部搜索; 新增百度自定义站内搜索功能,样式已写好,只等你写入那段搜索代码(记住在百度站内搜索编辑的时候选择自定义样式); 修复分页不是10条且选择无限加载时,Ajax加载内容图片有可能不显示的问题; 后台设置必须登录才能评论时,评论区域显示登录和注册按钮; 修复三栏404页面错位; 轮换图片现在全部居中了; 修复小工具有可能报错的情况; 修复搜索xss漏洞; 改造搜索无结果页面; 分类页、标签页、搜索页新增头部自定义广告位; 分享按钮全扁平化,增加10+按钮,帅的一塌糊涂; 新增相关文章可关闭开关; 导航在顶部时,移动端增加搜索功能; 修复开启直达链接功能时,编辑文章时直达链接有可能不显示的问题; 缩略图的自适应多设备尺寸的微调整; 增加新窗口打开文章(后台xiu主题-基本设置里选择,这个在第一版就有,只是后面忘记加配置了); 修复IE浏览器下的的文字截断问题; 修复手机端相关文章图片问题。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧