首页
文章
文库
登录
|
注册
最新
推荐
热门
主题
关注
收藏
反馈
关注公众号
作最清晰缩略图的完整类
来源
本站原创
佚名
以下是代码片段:
Public
Class
ClassUpPic
Private
vPicFile As System.Web.UI.HtmlControls.HtmlInputFile
Private
vSmallPicSize, vUpFileSize As Integer
Private
vUpPicPath, vNewPicName, vTmpPicName As
String
Private
PicMin, PicMax, vPicMax As System.Drawing.Image
Private
PicFormat As System.Drawing.Imaging.ImageFormat
Private
MinHeight, MinWidth As Decimal
Private
Myfile As IO.File
Public
Sub
New(
ByVal
PicFile As System.Web.UI.HtmlControls.HtmlInputFile,
ByVal
UpPicType As PicType)
vPicFile = PicFile
vUpFileSize = HttpContext.Current.Application("UpFileSize")
Select
Case
UpPicType
Case
PicType.Face
vUpPicPath = "upload/images/Face"
vSmallPicSize = 150
vNewPicName = HttpContext.Current.Session("MemberID") & "." & GetRightByChar(vPicFile.PostedFile.FileName, ".")
Case
PicType.Photo
vUpPicPath = "upload/images/Photo"
vSmallPicSize = 150
vNewPicName = System.Guid.NewGuid.ToString() & "." & GetRightByChar(vPicFile.PostedFile.FileName, ".")
Case
PicType.Pic
vUpPicPath = "upload/images/Pic"
vSmallPicSize = 550
vNewPicName = System.Guid.NewGuid.ToString() & "." & GetRightByChar(vPicFile.PostedFile.FileName, ".")
End
Select
End
Sub
Public
Function
GetSavedFileName() As
String
’检验图片类型=================================================================
If
vPicFile.PostedFile.FileName = ""
Then
Throw New NotSupportedException("文件为空,请您选择上传的图片文件!")
End
If
If
Left
(vPicFile.PostedFile.ContentType, 5) <> "image"
Then
Throw New NotSupportedException("文件格式不合法,请选取有效的图片文件!" & vPicFile.PostedFile.ContentType)
End
If
If
vPicFile.PostedFile.ContentLength > vUpFileSize
Then
Dim
MaxNumber As Decimal = vUpFileSize / 1024 / 1024
Throw New NotSupportedException("上传的图片文件太大,最大支持" & Format(MaxNumber, "##,##0") & "M!")
End
If
’检验数量限制=================================================================
’保存大文件=================================================================
vPicFile.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(vUpPicPath & "/max/") & vNewPicName)
vPicFile.Dispose()
’缩略图片文件=================================================================
PicMax = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(vUpPicPath & "/max/") & vNewPicName)
If
Not
(PicMax.RawFormat
Is
PicFormat.Gif
Or
PicMax.RawFormat
Is
PicFormat.Png)
Then
If
PicMax.Height > vSmallPicSize
Or
PicMax.Width > vSmallPicSize
Then
vTmpPicName = System.Guid.NewGuid.ToString() & ".png"
vPicMax = PicMax
PicMax.Save(HttpContext.Current.Server.MapPath(vUpPicPath & "/max/") & vTmpPicName, PicFormat.Png)
vPicMax.Dispose()
PicMax = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(vUpPicPath & "/max/") & vTmpPicName)
End
If
End
If
’保存小文件=================================================================
GetMinPic(PicMax).Save(HttpContext.Current.Server.MapPath(vUpPicPath & "/min/") & vNewPicName, PicFormat.Jpeg)
PicMax.Dispose()
’删除临时png文件=================================================================
If
vTmpPicName <> ""
Then
Myfile.Delete(HttpContext.Current.Server.MapPath(vUpPicPath & "/max/") & vTmpPicName)
Return vNewPicName
End
Function
Private
Function
GetMinPic(
ByVal
MaxPic As System.Drawing.Image) As System.Drawing.Image
If
MaxPic.Height > vSmallPicSize
Or
MaxPic.Width > vSmallPicSize
Then
If
MaxPic.Height > MaxPic.Width
Then
MinWidth = MaxPic.Width / (MaxPic.Height / vSmallPicSize)
MinHeight = vSmallPicSize
Else
MinWidth = vSmallPicSize
MinHeight = MaxPic.Height / (MaxPic.Width / vSmallPicSize)
End
If
Return MaxPic.GetThumbnailImage(
CInt
(MinWidth),
CInt
(MinHeight),
Nothing
, New System.IntPtr())
Else
Return MaxPic
End
If
End
Function
Enum PicType
Face = 1
Photo = 2
Pic = 3
End
Enum
Private
Function
GetRightByChar(
ByVal
StrValue As
String
,
ByVal
CharValue As
String
) As
String
Dim
MyStr() As
String
=
Split
(StrValue, CharValue)
Return MyStr(MyStr.Length - 1)
End
Function
End
Class
关联文档
将战略落地重新定义目标驱动与执行
深度粉销高转化、高复购的用户运营黄金法则
中国工业大模型行业发展研究报告
50个高阶DeepSeek提示词
提示词prompt及应用
大家都在看
写给普通人的MCP入门指南
一文看懂:MCP(大模型上下文协议)
揭秘七条用户运营黄金法则
工业大模型应用从 0 到 1 构建与全链条探索
身智能的崛起、后果和意义
具身智能 (Embodied AI)概述
一文掌握大模型提示词技巧:从战略到战术
大模型蒸馏技术深度解析与应用探索
推荐文档
哈啰一站式研发效能平台的建设与实践
基于RAG & Agent技术的混元大模型业务落地实践
项目研发管理报告
爱奇艺大数据OLAP体系演进
FinOps在知乎的落地与实践
生命科学领域与人工智能结合的前沿和热点