JS等比例缩放图片
function DrawImage(ImgD, iwidth, iheight) {
var image = new Image();
image.src = ImgD.src;
if (image.width > 0 && image.height > 0) {
flag = true;
if (image.width / image.height >= iwidth / iheight) {
if (image.width > iwidth) {
ImgD.width = iwidth;
ImgD.height = image.height * iwidth / image.width;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
ImgD.alt = image.width + "×" + image.height;
}
else {
if (image.height > iheight) {
ImgD.height = iheight;
ImgD.width = image.width * iheight / image.height;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
ImgD.alt = image.width + "×" + image.height;
}
}
}
var image = new Image();
image.src = ImgD.src;
if (image.width > 0 && image.height > 0) {
flag = true;
if (image.width / image.height >= iwidth / iheight) {
if (image.width > iwidth) {
ImgD.width = iwidth;
ImgD.height = image.height * iwidth / image.width;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
ImgD.alt = image.width + "×" + image.height;
}
else {
if (image.height > iheight) {
ImgD.height = iheight;
ImgD.width = image.width * iheight / image.height;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
ImgD.alt = image.width + "×" + image.height;
}
}
}
优化以后
function DrawImage(ImgD, iwidth, iheight) {
var image = new Image();
image.src = ImgD.src;
if (image.width > 0 && image.height > 0)
{
if (image.width / iwidth > image.height / iheight) {
if (image.width > iwidth)
{
ImgD.width = iwidth;
ImgD.height = image.height * iwidth / image.width;
} else
{
ImgD.width = iwidth;
ImgD.height = image.height * image.width / iwidth;
}
}
else if(image.width / iwidth < image.height / iheight)
{
if (image.height > iheight)
{
ImgD.height = iheight;
ImgD.width = image.width * iheight / image.height;
} else
{
ImgD.height= image.width;
ImgD.width = image.width * image.height / iheight
}
}else
{
ImgD.width = iwidth;
ImgD.height = iheight;
}
}
}
var image = new Image();
image.src = ImgD.src;
if (image.width > 0 && image.height > 0)
{
if (image.width / iwidth > image.height / iheight) {
if (image.width > iwidth)
{
ImgD.width = iwidth;
ImgD.height = image.height * iwidth / image.width;
} else
{
ImgD.width = iwidth;
ImgD.height = image.height * image.width / iwidth;
}
}
else if(image.width / iwidth < image.height / iheight)
{
if (image.height > iheight)
{
ImgD.height = iheight;
ImgD.width = image.width * iheight / image.height;
} else
{
ImgD.height= image.width;
ImgD.width = image.width * image.height / iheight
}
}else
{
ImgD.width = iwidth;
ImgD.height = iheight;
}
}
}