如何获取设置图片大小

大家知道,丰富多彩的Web页面离不开图片的支持,图像一方面增加了网页的生动性,另一方面增加了网页规模,使下载速度减慢。如何让一图片能以适当大小在页面上显示,成了我一时解不开的谜。

前不久,我为单位开发了一个教学科研网站,采用新闻管理系统,首页上新闻栏目中,需要从数据库中调用图片文件作为图片新闻中的图片,从而形成文字绕排形式。由于整个系统包括新闻上传、新闻编辑、系统公告等都是动态实现的。在开发的过程中,我考虑到以下几个因素:(1)作为网站的维护者,对计算机的操作不太熟练;(2)网站讲究布局合理,内容充实。所以,出于设计的需要,网站页面中,图片新闻对图片的宽度、高度有一定的要求,本网站宽度不能超过200px,尽管我明白,我们可以使用Photoshop等图像处理软件,可以事先把图片处理好后,再上传到服务器中去,达到首页调用同样的效果,但作为用户,最希望的是操作越简单越好,因此我决心攻破这个问题。经过几天激战,我不断寻找解决问题的途径、不断测试直到成功。至此,我把自己的一些经验,写出来供广大从事脚本编写者参考,以此共勉。

要让图片能以适当大小显示的问题,实质是一个大图片等比例缩小的问题。当然,小图片是不能放大在网页中显示的,否则将出现图象失真现象。如何通过图象的URL获得图象的大小(width,height)是问题的关键,我便到网上去搜索能否用javascript编写图象等比例缩放,功夫不负有心人,终于找到《自适应图片大小的弹出窗口》一文,页面效果为,单击文本超链接后,页面弹出一个新窗口,显示图片,其中窗体大小与图片大小相当,文章中用javascript:Image()对象动态装载图片,获取图片的高度和宽度,再根据源图片的高度、宽度设置弹出窗口的高度与宽度设置弹出窗口的高度与宽度,并打开该窗口,主要代码如下:

测试一:

<html>

<head>

<meta http-equiv=Content-Type content=text/html; charset=gb2312>

<meta name=GENERATOR content=Microsoft FrontPage 4.0>

<meta name=ProgId content=FrontPage.Editor.Document>

<title>test</title>

</head>

<body>

<script language=javascript type=text/javascript>

<!--

var imgObj;

function checkImg(theURL,winName){

// 对象是否已创建

if (typeof(imgObj) == object){

// 是否已取得了图像的高度和宽度

if ((imgObj.width != 0) && (imgObj.height != 0))

// 根据取得的图像高度和宽度设置弹出窗口的高度与宽度,并打开该窗口

// 其中的增量 20 和 30 是设置的窗口边框与图片间的间隔量

OpenFullSizeWindow(theURL,winName, ,width= + (imgObj.width+20) + ,height= + (imgObj.height+30));

else

// 因为通过 Image 对象动态装载图片,不可能立即得到图片的宽度和高度,所以每隔100毫秒重复调用检查

setTimeout(checkImg(' + theURL + ',' + winName + '), 100)

}

}

function OpenFullSizeWindow(theURL,winName,features) {

var aNewWin, sBaseCmd;

// 弹出窗口外观参数

sBaseCmd = toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,;

// 调用是否来自 checkImg

if (features == null || features == ){

// 创建图像对象

imgObj = new Image();

// 设置图像源

imgObj.src = theURL;

// 开始获取图像大小

checkImg(theURL, winName)

}

else{

// 打开窗口

aNewWin = window.open(theURL,winName, sBaseCmd + features);

// 聚焦窗口

aNewWin.focus();

}

}

//-->

</script>

<a href=http://www.163design.net/a/y/Bt0085.jpg onClick=OpenFullSizeWindow(this.href,'','');return false>图片测试</a>

</body>

</html>

有了Image()对象来获取图象的Width、Height,我就知道该如何去解决怎样实现图象的等比例缩放问题了。于是,我用k=Width/Height表示图象的比例值,当 K>=1时,表示width>heght,只要width不超过200px,则height一定<=200px;相反K<1,只要Height不超过150Px,width一定<=150px(正常情况下width/height=4:3)。所以只要K>=1限定width,K<1限定height就可以了。在测试一的帮助下,我很快有了下面的一段代码(测试二):

测试二

<script language=javascript type=text/javascript>

<!--

var imgObj;

function checkImg(theURL){

var width,height;

var k;

imgObj = new Image();

imgObj.src = theURL;

if (typeof(imgObj) == object){

if ((imgObj.width != 0) && (imgObj.height != 0))

{width=imgObj.width;

height=imgObj.height;

k=width/height;

document.write (k);

if(k>=1){

if (width>=200){

width=200;

height=width/k;

}}

else

{if (height>=200){

height=200;

width=k*height;

}

}

showimg(theURL,width,height);

}

else

setTimeout(checkImg(' + theURL + '), 100)

}

}

function showimg(theURL,x,y)

{

document.write(<imgsrc=+theURL++width=+x++height=+y+border='0'+ +align='left'>);

}

//-->

</script>

<script language=javascript>

时间: 2024-07-28 15:15:59

如何获取设置图片大小的相关文章

如何获取设置图片大小以适应大小在页面上显示

显示|页面 大家知道,丰富多彩的Web页面离不开图片的支持,图像一方面增加了网页的生动性,另一方面增加了网页规模,使下载速度减慢.如何让一图片能以适当大小在页面上显示,成了我一时解不开的谜. 前不久,我为单位开发了一个教学科研网站,采用新闻管理系统,首页上新闻栏目中,需要从数据库中调用图片文件作为图片新闻中的图片,从而形成文字绕排形式.由于整个系统包括新闻上传.新闻编辑.系统公告等都是动态实现的.在开发的过程中,我考虑到以下几个因素:(1)作为网站的维护者,对计算机的操作不太熟练:(2)网站讲究

python获取远程图片大小和尺寸的方法

 这篇文章主要介绍了python获取远程图片大小和尺寸的方法,实例分析了Python中urllib2.urlopen方法及图片操作技巧,需要的朋友可以参考下     本文实例讲述了python获取远程图片大小和尺寸的方法.分享给大家供大家参考.具体分析如下: 这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息 ? 1 2 3 4 5 6 7 8 #!/usr/bin/env python #encoding=utf-8 import

python获取远程图片大小和尺寸的方法_python

本文实例讲述了python获取远程图片大小和尺寸的方法.分享给大家供大家参考.具体分析如下: 这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息 #!/usr/bin/env python #encoding=utf-8 import cStringIO, urllib2, Image url = 'yun_qi_img/logo.gif' file = urllib2.urlopen(url) tmpIm = cStringIO.S

php查看请求头信息获取远程图片大小

 php通过fsockopen方法获取头信息,如果请求的是图片,这里的Content-Length就表示图片的大小 如果要获取远程图片的大小,一种普遍的做法是先将远程图片的内容获取回来,再用strlen计算长度,这种方法需要将图片下载下来,然后才能计算.如果图片很大的话,那么网络传输就要花费不少时间,效率显然低下.笔者提供一个方法来提高效率,主要是利用http的头信息.   当访问网页的时候,服务器会返回请求的头信息,其中Content-Length表示请求的网页内容大小.如果请求的是图片,那么

php查看请求头信息获取远程图片大小的方法分享_php实例

如果要获取远程图片的大小,一种普遍的做法是先将远程图片的内容获取回来,再用strlen计算长度,这种方法需要将图片下载下来,然后才能计算.如果图片很大的话,那么网络传输就要花费不少时间,效率显然低下.笔者提供一个方法来提高效率,主要是利用http的头信息. 当访问网页的时候,服务器会返回请求的头信息,其中Content-Length表示请求的网页内容大小.如果请求的是图片,那么Content-Length就表示图片的大小.根据这个,只需要发送head请求获取返回的头信息就OK了.在php中,可以

批量设置图片大小的软件 Icecream Image Resizer 介绍

  3. 从"选择目录:"中选择你要修改的照片目录,在"当前目录图像列表:"中选择你要修改的照片,点击"添加". 4. 在"格式"中选择输出格式为JPG,在"目录:"中点击".-"选择你要保存照片的目录. 5. 点击"调整大小"左边的小框,输入宽度和高度. 6. 点击"开始"照片修改成功.

ios 查看图片前如何提前获取图片大小

问题描述 ios 查看图片前如何提前获取图片大小 固定区域大小,打开查看图片时,较大的图片就会变形,但是要怎么提前获取图片大小呢 解决方案 好像这是个略困扰的问题 解决方案二: www.cnblogs.com/cxjwin/p/3392101.html可能可以帮到你 解决方案三: 图片还有好几种格式,还要查看图片大小 解决方案四: 一种情况是请求图片的时候可以自己设置图片大小进行请求.另外一种就是返回的数据中包含图片的分辨率.其他情况我还没遇到 解决方案五: 一种情况是请求图片的时候可以自己设置

PHAsset真机上获取到PHImageFileURLKey,但是根据这个路径获取不到图片大小

问题描述 PHAsset真机上获取到PHImageFileURLKey,但是根据这个路径获取不到图片大小 NSURL *fileURL = [photoData objectForKey:@"PHImageFileURLKey"]; 这句话获取到的图片URL:(图片路径如下) Printing description of fileURL: file:///var/mobile/Media/DCIM/100APPLE/IMG_0114.JPG 但是根据url没有获取到图片大小 data

javascript实现获取图片大小及图片等比缩放的方法_javascript技巧

本文实例讲述了javascript实现获取图片大小及图片等比缩放的方法.分享给大家供大家参考,具体如下: 获取图片大小: var originImage = new Image(); function GetImageWidth(oImage) { if (originImage.src != oImage.src) originImage.src = oImage.src; return originImage.width; } function GetImageHeight(oImage)