function DrawImage(ImgD,FitWidth,FitHeight){ var image= new Image(); image.src=ImgD.src; if(image.width>0 && image"/> function DrawImage(ImgD,FitWidth,FitHeight){ var image= new Image(); image.src=ImgD.src; if(image.width>0 && image">

Home >Web Front-end >JS Tutorial >How to resize images with javascript, detailed explanation of cropping code examples

How to resize images with javascript, detailed explanation of cropping code examples

伊谢尔伦
伊谢尔伦Original
2017-07-25 15:13:592646browse

Resize the image without losing shape (FF IE compatible)

// 用法 <img src="this_image_path.jpg" onload="DrawImage(this,450,450);" />
 function DrawImage(ImgD,FitWidth,FitHeight){
 var image=new Image();
 image.src=ImgD.src;
 if(image.width>0 && image.height>0){
  if(image.width/image.height>= FitWidth/FitHeight){
  if(image.width>FitWidth){
   ImgD.width=FitWidth;
   ImgD.height=(image.height*FitWidth)/image.width;
  }else{
   ImgD.width=image.width;
   ImgD.height=image.height;
  }
  } else{
  if(image.height>FitHeight){
   ImgD.height=FitHeight;
   ImgD.width=(image.width*FitHeight)/image.height;
  }else{
   ImgD.width=image.width;
   ImgD.height=image.height;
  }
  }
 }
 }

Cut via overflow: hidden:

function clipImage(o, w, h){
 var img = new Image();
 img.src = o.src;
 if(img.width >0 && img.height>0)
 {
 if(img.width/img.height >= w/h)
 {
  if(img.width > w)
  { 
  o.width = (img.width*h)/img.height;
  o.height = h;
  //o.setAttribute("style", "marginLeft:-" + ((o.width-w)/2).toString() + "px");
  $(o).css("margin-left", "-"+((o.width-w)/2).toString() + "px");
  }
  else
  {
  o.width = img.width;
  o.height = img.height;
  } 
 }
 else
 {
  if(img.height > h)
  {
  o.height = (img.height*w)/img.width;
  o.width = w;
  //o.setAttribute("style", "margin-top:-" + ((o.height-h)/2).toString() + "px");
  //$(o).css("style", "margin-top:-" + ((o.height-h)/2).toString() + "px");
  $(o).css("margin-top", "-"+((o.height-h)/2).toString() + "px");
 }
  else
  {
  o.width = img.width;
  o.height = img.height;
  } 
 }
 }
}

Example:

<style type="text/css">
 ul{list-style:none;}
 ul li{float:left;padding:1px;border:#ccc 1px solid;width:120px;height:120px;overflow:hidden;text-align:center;over-flow:hidden;}
</style>
<ul>
 <li><img src="1.jpg" onload="DrawImage(this,120,120);" /></li>
 <li><img src="2.jpg" onload="clipImage(this,120,120);" /></li>
</ul>

The above is the detailed content of How to resize images with javascript, detailed explanation of cropping code examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn