asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET图象处理详解(2)


发布日期:2022年12月29日
 
ASP.NET图象处理详解(2)
读取和改变图象文件大小

读取图片?直接使用HTML不就可以了?当然可以我们这里只是提供一种选择和方法来实现这一功能具体这一功能的使用我们可能需要在实践中更多的学习先来看程序源代码

<% import all relevant namespaces %>

<%@ import namespace=System %>

<%@ import namespace=SystemDrawing %>

<%@ import namespace=SystemDrawingImaging %>

<%@ import namespace=SystemIO %>

<script runat=server

Sub sendFile()

dim g as SystemDrawingImage = SystemDrawingImageFromFile(servermappath(request(src)))

dim thisFormat=grawformat

dim imgOutput as New Bitmap(g cint(request(width)) cint(request(height)))

if thisformatequals(systemdrawingimagingimageformatGif) then

ntenttype=image/gif

else

ntenttype=image/jpeg

end if

imgOutputsave(responseoutputstream thisformat)

gdispose()

imgOutputdispose()

end sub

Sub sendError()

dim imgOutput as New bitmap( pixelformatformatbpprgb)

dim g as graphics = graphicsfromimage(imgOutput)

gclear(coloryellow)

gdrawString(错误! New font(黑体fontstylebold)systembrusheswindowtext New pointF())

ntenttype=image/gif

imgOutputsave(responseoutputstream imageformatgif)

gdispose()

imgOutputdispose()

end sub

</script>

<%

responseclear

if request(src)= or request(height)= or request(width)= then

call sendError()

else

if fileexists(servermappath(request(src))) then

call sendFile()

else

call sendError()

end if

end if

responseend

%>

在以上的程序中我们看到两个函数一个是SendFile这一函数主要功能为显示服务器上的图片该图片的大小通过Width和Height设置同时程序会自动检测图片类型另外一个是SendError这一函数的主要功能为服务器上的图片文件不存在时显示错误信息这里很有趣错误信息也是通过图片给出的(如图)

以上的程序显示图片并且改变图片大小现在我们将这个程序进一步显示图片并且保持图片的长宽比例这样和实际应用可能比较接近特别是需要制作电子相册或者是图片网站的时候比较实用我们先来看主要函数

Function NewthumbSize(currentwidth currentheight)

dim tempMultiplier as Double

if currentheight > currentwidth then

tempMultiplier = / currentheight

Else

tempMultiplier = / currentwidth

end if

dim NewSize as New Size(CInt(currentwidth * tempMultiplier) CInt(currentheight * tempMultiplier))

return NewSize

End Function

以上程序是增加的一个函数NewthumbSize该函数专门处理改变一会的图片大小这个图片的长宽和原图片的长宽保持相同比例其他部分请参考上文程序代码

上一篇:在ASP.NET中使用AJAX的简单方法

下一篇:asp.net生成缩略图及给原始图加水印