文件:changeimage.ascx
changeimage.ascx.vb
演示页面:changeimage.aspxchangeimage.ascx:<%@ Control Language="vb" AutoEventWireup="false" Codebehind="changimage.ascx.vb" Inherits="gbnet.changimage" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<FONT face="宋体"></FONT>changeimage.ascx.vb:Imports System.Drawing
Imports System.Drawing.Imaging
Public Class changimage
Inherits System.Web.UI.UserControl#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub '注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Private url1 As String Private lngsiz1 As Long = 0
Private lngwid1 As Long = 0
Private lnghgt1 As Long = 0
Property lngsiz() As Long
Get
lngsiz = lngsiz1
End Get
Set(ByVal Value As Long)
lngsiz = Value
End Set
End Property
Property lngwid() As Long
Get
lngwid = lngwid1
End Get
Set(ByVal Value As Long)
lngwid = Value
End Set
End Property
Property lnghgt() As Long
Get
lnghgt = lnghgt1
End Get
Set(ByVal Value As Long)
lnghgt = Value
End Set
End Property
Property url() As String
Get
url = url1
End Get
Set(ByVal Value As String) url = Value
End Set
End Property Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'===========================读取图象
Dim bmpinput As Bitmap
Dim bmptemp As Bitmap
If url = "" Then
bmpinput = New Bitmap(100, 50)
Dim gfxinput As Graphics = Graphics.FromImage(bmpinput)
gfxinput.FillRectangle(New SolidBrush(Color.FromArgb(255, 204, 204, 204)), 0, 0, 11, 50)
gfxinput.Dispose()
Else
bmpinput = Bitmap.FromFile(Server.MapPath(url))
End If
'===========================编辑图象====================================
If lngsiz > 0 Then
If bmpinput.Height > bmpinput.Width Then
lngwid = (lngsiz * bmpinput.Width) / bmpinput.Height
lnghgt = lngsiz
Else
lnghgt = (lngsiz * bmpinput.Width) / bmpinput.Width
lngwid = lngsiz
End If
ElseIf lnghgt > 0 Then
lngwid = (lnghgt * bmpinput.Width) / bmpinput.Height ElseIf lngwid > 0 Then
lnghgt = (lngwid * bmpinput.Width) / bmpinput.Width End If '=========================输出图象==================================== If (lnghgt < 1) Or (bmpinput.Height < lnghgt) Then
writepicture(bmpinput)
Else
bmptemp = New Bitmap(bmpinput, lngwid, lnghgt)
writepicture(bmptemp)
End If End Sub Sub writepicture(ByRef abmppic As Bitmap)
If LCase(Right(url, 4)) = ".gif" Then
Response.ContentType = "image/gif"
abmppic.Save(Response.OutputStream, ImageFormat.Gif)
Else
Response.ContentType = "image/jpeg"
abmppic.Save(Response.OutputStream, ImageFormat.Jpeg)
End If End SubEnd Class
changeimage.aspx:<%@ Register TagPrefix="uc1" TagName="changimage" Src="changimage.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="changeimage.aspx.vb" Inherits="gbnet.changeimage" Debug="true"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>changeimage</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<uc1:changimage id="Changimage1" url="Images/face/08.gif" lngsiz=28 runat="server"></uc1:changimage></FONT>
</form>
</body>
</HTML>
出错提示:
“/gbnet”应用程序中的服务器错误。
--------------------------------------------------------------------------------发生类型为 System.StackOverflowException 的异常。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.StackOverflowException: 发生类型为 System.StackOverflowException 的异常。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[StackOverflowException: 发生类型为 System.StackOverflowException 的异常。]
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
changeimage.ascx.vb
演示页面:changeimage.aspxchangeimage.ascx:<%@ Control Language="vb" AutoEventWireup="false" Codebehind="changimage.ascx.vb" Inherits="gbnet.changimage" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<FONT face="宋体"></FONT>changeimage.ascx.vb:Imports System.Drawing
Imports System.Drawing.Imaging
Public Class changimage
Inherits System.Web.UI.UserControl#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub '注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Private url1 As String Private lngsiz1 As Long = 0
Private lngwid1 As Long = 0
Private lnghgt1 As Long = 0
Property lngsiz() As Long
Get
lngsiz = lngsiz1
End Get
Set(ByVal Value As Long)
lngsiz = Value
End Set
End Property
Property lngwid() As Long
Get
lngwid = lngwid1
End Get
Set(ByVal Value As Long)
lngwid = Value
End Set
End Property
Property lnghgt() As Long
Get
lnghgt = lnghgt1
End Get
Set(ByVal Value As Long)
lnghgt = Value
End Set
End Property
Property url() As String
Get
url = url1
End Get
Set(ByVal Value As String) url = Value
End Set
End Property Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'===========================读取图象
Dim bmpinput As Bitmap
Dim bmptemp As Bitmap
If url = "" Then
bmpinput = New Bitmap(100, 50)
Dim gfxinput As Graphics = Graphics.FromImage(bmpinput)
gfxinput.FillRectangle(New SolidBrush(Color.FromArgb(255, 204, 204, 204)), 0, 0, 11, 50)
gfxinput.Dispose()
Else
bmpinput = Bitmap.FromFile(Server.MapPath(url))
End If
'===========================编辑图象====================================
If lngsiz > 0 Then
If bmpinput.Height > bmpinput.Width Then
lngwid = (lngsiz * bmpinput.Width) / bmpinput.Height
lnghgt = lngsiz
Else
lnghgt = (lngsiz * bmpinput.Width) / bmpinput.Width
lngwid = lngsiz
End If
ElseIf lnghgt > 0 Then
lngwid = (lnghgt * bmpinput.Width) / bmpinput.Height ElseIf lngwid > 0 Then
lnghgt = (lngwid * bmpinput.Width) / bmpinput.Width End If '=========================输出图象==================================== If (lnghgt < 1) Or (bmpinput.Height < lnghgt) Then
writepicture(bmpinput)
Else
bmptemp = New Bitmap(bmpinput, lngwid, lnghgt)
writepicture(bmptemp)
End If End Sub Sub writepicture(ByRef abmppic As Bitmap)
If LCase(Right(url, 4)) = ".gif" Then
Response.ContentType = "image/gif"
abmppic.Save(Response.OutputStream, ImageFormat.Gif)
Else
Response.ContentType = "image/jpeg"
abmppic.Save(Response.OutputStream, ImageFormat.Jpeg)
End If End SubEnd Class
changeimage.aspx:<%@ Register TagPrefix="uc1" TagName="changimage" Src="changimage.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="changeimage.aspx.vb" Inherits="gbnet.changeimage" Debug="true"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>changeimage</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<uc1:changimage id="Changimage1" url="Images/face/08.gif" lngsiz=28 runat="server"></uc1:changimage></FONT>
</form>
</body>
</HTML>
出错提示:
“/gbnet”应用程序中的服务器错误。
--------------------------------------------------------------------------------发生类型为 System.StackOverflowException 的异常。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.StackOverflowException: 发生类型为 System.StackOverflowException 的异常。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[StackOverflowException: 发生类型为 System.StackOverflowException 的异常。]
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货