仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 468|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页编程之怎样猎取设置图片巨细以顺应巨细在页面...

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。显现|页面人人晓得,丰厚多彩的Web页面离不开图片的撑持,图象一方面增添了网页的活泼性,另外一方面增添了网页范围,使下载速率减慢。怎样让一图片能以得当巨细在页面上显现,成了我一时解不开的谜。

前不久,我为单元开辟了一个教授教养科研网站,接纳旧事办理体系,首页上旧事栏目中,必要从数据库中挪用图片文件作为图片旧事中的图片,从而构成笔墨绕排情势。因为全部体系包含旧事上传、旧事编纂、体系通告等都是静态完成的。在开辟的过程当中,我思索到以下几个要素:(1)作为网站的保护者,对盘算机的操纵不太纯熟;(2)网站考究结构公道,内容充分。以是,出于计划的必要,网站页面中,图片旧事对图片的宽度、高度有必定的请求,本网站宽度不克不及凌驾200px,只管我分明,我们可使用Photoshop等图象处置软件,能够事前把图片处置好后,再上传到服务器中往,到达首页挪用一样的效果,但作为用户,最但愿的是操纵越复杂越好,因而我决计攻破这个成绩。经由几天苦战,我不休寻觅办理成绩的路子、不休测试直到乐成。至此,我把本人的一些履历,写出来供宽大处置剧本编写者参考,以此共勉。

要让图片能以得当巨细显现的成绩,本色是一个年夜图片等比例减少的成绩。固然,小图片是不克不及缩小在网页中显现的,不然将呈现图像掉真征象。怎样经由过程图像的URL取得图像的巨细(width,height)是成绩的关头,我便到网上往搜刮可否用javascript编写图像等比例缩放,工夫不负故意人,终究找到《自顺应图片巨细的弹出窗口》一文,页面效果为,单击文本超链接后,页面弹出一个新窗口,显现图片,个中窗体巨细与图片巨细相称,文章顶用javascript:Image()工具静态装载图片,猎取图片的高度和宽度,再依据源图片的高度、宽度设置弹出窗口的高度与宽度设置弹出窗口的高度与宽度,并翻开该窗口,次要代码以下:

测试一:

<html>

<head>

<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312>

<metaname=GENERATORcontent=MicrosoftFrontPage4.0>

<metaname=ProgIdcontent=FrontPage.Editor.Document>

<title>test</title>

</head>

<body>

<scriptlanguage=javascripttype=text/javascript>

<!--

varimgObj;

functioncheckImg(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)

}

}



functionOpenFullSizeWindow(theURL,winName,features){

varaNewWin,sBaseCmd;

//弹出窗口表面参数

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

//挪用是不是来自checkImg

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

//创立图象工具

imgObj=newImage();

//设置图象源

imgObj.src=theURL;

//入手下手猎取图象巨细

checkImg(theURL,winName)

}

else{

//翻开窗口

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

//聚焦窗口

aNewWin.focus();

}

}

//-->

</script>

<ahref=http://www.webjx.com/htmldata/2005-11-19/Bt0085.jpgonClick=OpenFullSizeWindow(this.href,,);returnfalse>图片测试</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就能够了。在测试一的匡助下,我很快有了上面的一段代码(测试二):



测试二

<scriptlanguage=javascripttype=text/javascript>

<!--

varimgObj;

functioncheckImg(theURL){

varwidth,height;

vark;

imgObj=newImage();

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)

}

}

functionshowimg(theURL,x,y)

{

document.write(元素能够界说其显现局限,即图的高度Height和宽度(Width)。处置事务触发时,静态地改动图的两个属性便可到达效果;”依据提醒,我很快完成了测试三的代码,次要代码以下:

测试三

<script>

functionshow()

{varw,h;

vark;

varcon;

w=smallslot.width;

h=smallslot.height;

k=w/h;

if(k>=1){

if(w>=200){

w=200;

h=w/k;

}}

else

{if(h>=150){

h=150;

w=k*h;

}

}

returnw;

}

</script>



<scriptlanguge=javascript>

varx=show();

//document.write(x);

</script>

在这段代码中,我思索到利用200)this.width=200;align=left>,测试可以经由过程,但假如图像width<height,而且width>200px,则页面显现效果为高度凌驾150,如许假如没有K=width/height的束缚,页面效果是分歧理的,因而不克不及接纳。



我有些黔驴之技的感到,找不出更好的举措办理这个成绩,垂垂地得到了信念,为这个成绩我已两个早晨没睡着觉了,我筹办最初一搏了。我细心剖析了我的测试三,我发明次要缘故原由是onload事务是页面载进时触发的事务。Onload在thisisatest!

再次测试,经由过程了!并且首页挪用乐成!我乐成了!Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 05:10:36 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
活着的死人 该用户已被删除
板凳
发表于 2015-1-25 12:03:20 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
透明 该用户已被删除
地板
发表于 2015-2-2 22:02:55 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
爱飞 该用户已被删除
5#
发表于 2015-2-8 10:14:07 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-25 09:11:52 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
山那边是海 该用户已被删除
7#
发表于 2015-3-7 19:28:48 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
只想知道 该用户已被删除
8#
发表于 2015-3-15 12:48:10 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表