layui等比例放大/缩小图片

HTML

<img class="layui-upload-img" id="photo" style="max-height: 100px;max-width: 100px;">

JS


$("#photo").click(function(){
    showImg($(this));
});

function showImg(imgData){
       var img = new Image();
       img.src = imgData.attr("src");
       var height = img.height; // 原图片大小
       var width = img.width; //原图片大小

       var winHeight = $(window).height() - 80;  // 浏览器可视部分高度
       var winWidth = $(window).width() - 100;  // 浏览器可视部分宽度

       // 如果图片高度或者宽度大于限定的高度或者宽度则进行等比例尺寸压缩
       if (height > winHeight || width > winWidth) {
        // 1.原图片宽高比例 大于等于 图片框宽高比例
        if (winWidth/ winHeight <= width / height) {
            width = winWidth;   //以框的宽度为标准
            height = winWidth * (height / width);
        }

        // 2.原图片宽高比例 小于 图片框宽高比例
        if (winWidth/ winHeight > width / height) {
            width = winHeight  * (width / height);
            height = winHeight  ;   //以框的高度为标准
        }
       }

       var imgHtml = "<img src=‘" + img.src + "‘ width=‘" + width + "px‘ height=‘" + height + "px‘ />";
       //弹出层
       layer.open({
           type: 1,
           shade: 0.8,
           offset: ‘auto‘,
           // area: [500 + ‘px‘,550+‘px‘],
           area: [width + ‘px‘,(height + 50) + ‘px‘],  //原图显示,高度+50是为了去除掉滚动条
           shadeClose:true,
           scrollbar: false,
           title: "图片预览", //不显示标题
           content: imgHtml, //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
           cancel: function () {
               //layer.msg(‘捕获就是从页面已经存在的元素上,包裹layer的结构‘, { time: 5000, icon: 6 });
           }
       });
}

原文地址:https://blog.51cto.com/1197822/2421915

时间: 2024-10-05 01:38:38

layui等比例放大/缩小图片的相关文章

Android多点触摸放大缩小图片

1.Activity package com.fit.touchimage; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.PointF; import android.os.Bundle; import android.util.F

基于jquery的鼠标滚动放大缩小图片

一直以来都想写一个图片放大和缩小的小玩意,本来以为会很复杂,这几天自己思考了一下,原来是so easy啊.目前实现的放大缩小,主要时依据鼠标的滚轮触发事件来实现的,废话少说直接上源码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

Android多点触摸交互处理,放大缩小图片

多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术.与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见的就是银行里的ATM机和排队查询机等等. 多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能.比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小.再比如一些浏览器,也可以通过多点触摸放大或者缩小字体.其实放大缩小也只是多点触摸的实际应用样例之一,有了多点触摸技术,在一定

Android 手势滑动,多点触摸放大缩小图片

学习安卓两点触摸滑动缩放图片 1.布局文件如下main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="

HTML5:使用Canvas和Input range控件放大缩小图片

引自:http://blog.csdn.net/ClementAD/article/details/48938261 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>图片缩放</title> </head> <body style="background: black;"> <canvas id

UIScrollView放大缩小图片偏移的问题

添加UIScrollView代理方法: - (void)scrollViewDidZoom:(UIScrollView *)aScrollView { CGFloat offsetX = (scrollView.bounds.size.width > scrollView.contentSize.width)? (scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5 : 0.0; CGFloat offsetY =

鼠标滚轮图片放大缩小功能,使用layer弹框后不起作用

今天在项目中遇到的一个问题:点击按钮使用layer弹框弹出一张图片,需要加一个鼠标滚轮放大缩小,图片也跟着放大缩小的功能.于是在网上找了一个demo. DEMO: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="

[Android]可缩放性ImageView(可以放大缩小)

由于项目需求的原因,最近一直在研究可缩放性ImageView,用本文来记录一下最近所学: 该ImageView的实现功能有: 1)初步打开时,图片按比例满屏(填充ImageView)显示. 2)在放大缩小过程中,可以控制最大放大比例和最小缩小比例. 3)在缩放过程中,若图片的宽或高小于ImageView,则在图片在宽或高居中显示. 4)在放大后,可以移动图片,并且限制好移动的边界,不会超出图片. 5)实现双击放大或缩小的功能.(若当前图片显示为最大的比例则缩小为最小比例,若不是最小比例则放大了最

可移动,可放大的图片查看功能

点击图片查看该图,如果不够清晰可以放大,如果感觉位置不对还可以拖动,当然了,做的还不太好,给ps的放大功能差远了. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <ti