JS实现等比例缩放图片

  有时候我们前端页面只有500×500像素的宽和高的布局,但是后台返回的数据图片是1000×1000,那么这种情况下 如果我直接返回的话 那么图片肯定有一部分没有显示出来,在这种情况下我是想能不能在我们前端开发实现图片等比例缩放。比如如下HTML代码:

<div id="demo1">
    <img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg" alt="">
</div>

CSS代码如下:

#demo1{width:800px;height:300px;overflow:hidden;}

外层div的css样式定了宽度是800像素 高度是300像素,但是这张图片的宽度和高度分别是1060像素和300像素,如果我们不做任何处理的话,那么图片肯定会有260像素被隐藏掉了,而我们现在想要图片被渲染出来后 根据外层容器800像素×300像素的宽度和高度分别等比例缩放,这样的话 不管图片的宽度和高度是多少,都可以自适应!

下面我们可以先看看JSFIddle效果是什么样的!第一张图片是没有任何处理的,第2张小的是根据宽度800像素进行等比例缩放后的。

想要看效果,请轻轻点击我!

已知图片的宽度和高度的等比例缩放的原理是:

 

HTML代码如下:

<img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg" width="1060" height="300" alt="">
<div id="demo1">
    <img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg" alt="">
</div>

CSS代码如下:

#demo1{width:800px;height:300px;overflow:hidden;}

JS代码如下:

/**
 * 已知图片的宽度和高度的等比例缩放
 */

 function knowImgSize(id) {
    var idWidth = $(id).width(),  // 容器的宽度和高度
        idHeight = $(id).height();

    $(id + ' img').each(function(index,img){
        var img_w = $(this).width(),
            img_h = $(this).height();

        // 如果图片自身宽度大于容器的宽度的话 那么高度等比例缩放
        if(img_w > idWidth) {
           
            var height = img_h * idWidth / img_w;
            $(this).css({"width":idWidth, "height":height});
        }
    });

 }

 // 初始化
 $(function(){
    knowImgSize("#demo1");
 });

由于比较简单 这里我就不提供demo下载了,具体的效果可以看上面jsfiddle链接页面!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索图片
, 代码
, 像素
, 高度
, js缩放
, 等比例
, js图片html数据
, height
, 图片等比缩放的类
, 图片等比例缩放
, 宽度
, 等比例缩放
, php等比例缩放
缩放图片效果
js图片等比例缩放、js控制图片等比例缩放、js按比例缩放图片、js实现图片缩放、上传图片等比例缩放js,以便于您获取更多的相关知识。

时间: 2025-01-30 15:20:56

JS实现等比例缩放图片的相关文章

JS实现按比例缩放图片的方法(附C#版代码)_javascript技巧

本文实例讲述了JS实现按比例缩放图片的方法.分享给大家供大家参考,具体如下: js版本: function resizeImage(obj, MaxW, MaxH) { var imageObject = obj; var state = imageObject.readyState; if(state!='complete') { setTimeout("resizeImage("+imageObject+","+MaxW+","+MaxH+&

js比例缩放图片大小代码

<head> <meta http-equiv="content-type" content="text/html; charset=gb2312" /> <title>js比例缩放图片大小代码</title> <script language="javascript教程">           function downimage(imgd){         var image=ne

jQuery实现按比例缩放图片

在网站中通常要显示各种尺寸的图片,但图片的尺寸不一定符合显示的要求.如果直接指定img的 width和height属性的话图片又很可能会被挤压的变形.下面这个代码可以把图片放进一个imgBox,并根 据imgBox的大小来按比例缩放图片以适应他,同时图片会在imgBox中居中显示.来看代码: 首先是HTML: 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

PHP 等比例缩放图片详解及实例代码_php技巧

直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片.缩放要求的宽度.缩放的长度.代码都备注了,不懂可以留言哈哈 <?php //压缩图片 缩略图 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgType = image_type_to_ex

php等比例缩放图片及剪切图片代码分享_php实例

php等比例缩放图片及剪切图片代码分享 /** * 图片缩放函数(可设置高度固定,宽度固定或者最大宽高,支持gif/jpg/png三种类型) * Author : Specs * * @param string $source_path 源图片 * @param int $target_width 目标宽度 * @param int $target_height 目标高度 * @param string $fixed_orig 锁定宽高(可选参数 width.height或者空值) * @ret

JavaScript等比例缩放图片控制超出范围的图片_javascript技巧

js等比例缩放图片,这个功能非常实用,当网页加载一个尺寸比较大的图片时,往往会把一个网页撑的变形,页面变得很难看,于是我们就想到了用JS去控制超出一定范围的图片,以稳定页面布局,本代码段就是完成了此功能,而且代码非常简洁,效果很好. 复制代码 代码如下: <html><head><title>等比例缩放图片</title><script>function DrawImage(ImgD,iwidth,iheight){ //参数(图片,允许的宽度,

如何使用php等比例缩放图片_php技巧

本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片.缩放要求的宽度.缩放的长度. <?php //压缩图片 缩略图 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgTyp

JQuery实现等比例缩放图片大小的例子

1.己知图片高度与宽度 当页面加载的图片中含有属性width和height值,则可以使用几句简单的jQuery代码实现等比例缩放,也可以通过JQ内置函数来获图片取宽高.    代码如下 复制代码 $(function(){        var w = $("#demo1").width();//容器宽度        $("#demo1 img").each(function(){//如果有很多图片,可以JQ内置的each()遍历            var i

用jquery实现等比例缩放图片效果插件_jquery

复制代码 代码如下: jQuery.fn.autoZoomLoadImage = function(scaling, width, height, loadPic) { if (loadPic == null) loadPic = "Loading.gif"; return this.each(function() { var t = $(this); var src = $(this).attr("src"); var img = new Image(); //a