二
讀取和改變圖象文件大小
讀取圖片?直接使用HTML不就可以了?當然可以
我們這裡只是提供一種選擇和方法來實現這一功能
具體這一功能的使用
我們可能需要在實踐中更多的學習
先來看程序源代碼
<%
import all relevant namespaces %>
<%@ import namespace=
System
%>
<%@ import namespace=
System
Drawing
%>
<%@ import namespace=
System
Drawing
Imaging
%>
<%@ import namespace=
System
IO
%>
<script runat=
server
>
Sub sendFile()
dim g as System
Drawing
Image = System
Drawing
Image
FromFile(server
mappath(request(
src
)))
dim thisFormat=g
rawformat
dim imgOutput as New Bitmap(g
cint(request(
width
))
cint(request(
height
)))
if thisformat
equals(system
drawing
imaging
imageformat
Gif) then
ntenttype=
image/gif
else
ntenttype=
image/jpeg
end if
imgOutput
save(response
outputstream
thisformat)
g
dispose()
imgOutput
dispose()
end sub
Sub sendError()
dim imgOutput as New bitmap(
pixelformat
format
bpprgb)
dim g as graphics = graphics
fromimage(imgOutput)
g
clear(color
yellow)
g
drawString(
錯誤!
New font(
黑體
fontstyle
bold)
systembrushes
windowtext
New pointF(
))
ntenttype=
image/gif
imgOutput
save(response
outputstream
imageformat
gif)
g
dispose()
imgOutput
dispose()
end sub
</script>
<%
response
clear
if request(
src
)=
or request(
height
)=
or request(
width
)=
then
call sendError()
else
if file
exists(server
mappath(request(
src
))) then
call sendFile()
else
call sendError()
end if
end if
response
end
%>
在以上的程序中
我們看到兩個函數
一個是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
該函數專門處理改變一會的圖片大小
這個圖片的長寬和原圖片的長寬保持相同比例
其他部分請參考上文程序代碼
From:http://tw.wingwit.com/Article/program/net/201311/11732.html