图片:处理,如何把原图片重新生成一个小图片,然后保存到硬盘上?200

FIRSTVIP 2004-03-30 11:30:10
1.把图片按流读进来
2.对图片进行处理(减肥),生成一个小的图片.
3.保存到硬盘.
string path="E:\\1.jpeg";

FileStream fs = new FileStream(path, FileMode.CreateNew);
long l=fs.Length;

Byte[] FileByteArray = new Byte[l];
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
asen51 2004-03-30
  • 打赏
  • 举报
回复
up的up
wudixiaocaoren 2004-03-30
  • 打赏
  • 举报
回复
这个代码很少,转起来容易一些:
<script language="VB" runat="server">
Sub UploadFile(sender As Object, e As EventArgs)

If FileUp.PostedFile.ContentLength = 0 Then
FileInfo.Visible = False
Exit Sub
Else
FileInfo.Visible = True
FDisplay1.Visible = True
End If

FSize.Text ="上传文件大小"+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
FName.Text = "已上传文件名:"+FileUp.PostedFile.FileName+"<br>"+FName.Text

'写入数据库
on error resume next
dim myconn as sqlconnection
dim mycomm as sqlcommand
dim sql as string
dim id as integer
Dim image,anewimage As System.Drawing.Image
dim width,height,newwidth,newheight as integer
Dim callb As System.Drawing.Image.GetThumbnailImageAbort
myConn=New sqlconnection(ConfigurationSettings.AppSettings("数据库"))
myconn.open()
sql="insert into picture (姓名,班级,介绍,属性) values ('"&request.cookies("dgxyl").values("dgxylname")&"','"&request.cookies("dgxyl").values("dgxylbj")&"','"&trim(request("TextBox1"))&"','"&request("r1")&"')"
Mycomm=New sqlcommand(sql,myconn)
mycomm.executenonquery()
myconn.close()

Dim myCommand As New SqlCommand("select top 1 id from picture order by id desc", myConn)
myCommand.Connection.Open()
Dim myReader As SqlDataReader=mycommand.executereader()
if myReader.Read() then
id=myReader("id")
end if
myconn.close()
'保存图片
FileUp.PostedFile.SaveAs( Server.MapPath("\classpic\")&cstr(id)&".jpg" )
'生成缩略图
image=System.Drawing.Image.FromFile(Server.MapPath("/classpic/"+cstr(id)+".jpg"))
width=image.Width
height=image.height
if width>height then
newwidth=250
newheight=image.height/image.Width*newwidth
else
newheight=250
newwidth=image.Width/image.height*newheight
end if
response.write("id="+cstr(id)+"width="+cstr(Width)+";height="+cstr(height)+" ")
response.write("newwidth="+cstr(newwidth)+";newheight="+cstr(newheight)+"<br>")

aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr())
aNewImage.Save(Server.MapPath("/smallpic/"+cstr(id)+".jpg"))
image.Dispose()


Dim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
Dim FileName As String = FileSplit(FileSplit.Length-1)
Dim Exts() As String = Split( FileName, "." )
Dim Ext As String = LCase(Exts(Exts.Length-1))

FDisplay.Text = "<A Target='_blank' HREF='/classpic/"&cstr(id)&".jpg"& "'>查看上传文件</A>"
FDisplay1.text="<a href='/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&"'>返回</a>"
End Sub
</script>
<SCRIPT language=JavaScript>
<!--
var requestsubmitted=false;
function guestbook_Validator(theForm)
{
//检查是否从新提交
if (requestsubmitted==true){
alert("你已经提交了留言,请等待服务器应答!");
return(false);
}
requestsubmitted=true;

return (true);
}
//-->
</SCRIPT>
<Html>
<Body BgColor=White>
<H3 align="center">请正确填写下面各项</h3>
<Hr></H3>
<Div id="FileInfo" Visible="False" runat="server">
<Asp:Label id="FSize" runat="server"/><br>
<Asp:Label id="FName" runat="server"/><br>
<Asp:Label id="FDisplay" runat="server"/>
<Asp:Label id="FDisplay1" runat="server"/>
</Div>
<Form Enctype="multipart/form-data" onsubmit="return guestbook_Validator(this)" runat="server">
上传文件
<Input Type="File" id="FileUp" runat="server" size="20"><br>
图片属性:<input type="radio" value="<%=request.cookies("dgxyl").values("dgxylbj")%>" name="R1" checked>本班<input type="radio" value="全校" name="R1">全校(本班则只在本班显示,全校则在全校显示)<P>
图片说明:<br>
<asp:TextBox id="TextBox1" runat="server" Width="233px" Height="141px">
</asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入图片说明">
</asp:RequiredFieldValidator><br>
<Asp:button id="Upload" OnClick="UploadFile" Text="上传图片" runat="server"/>
</form>
<Hr>
<p>注意:</p>
<ol>
<li><b>严禁上传污染环境的照片,否则账号将被删除!</b></li>
<li><font color="#808000"><b>请详细填写照片说明,图片说明不详细将会被视为乱传图片,将会被删除!</b></font></li>
</ol>
<p> </p>

</Body>
</Html>

FIRSTVIP 2004-03-30
  • 打赏
  • 举报
回复
vb好看难啊,有没有c#的?
nnh 2004-03-30
  • 打赏
  • 举报
回复
<% @Page Language="vb" debug="true"%>
<script language="VB" runat="server">
Sub UploadFile(sender As Object, e As EventArgs)

FSize.Text ="Big:"+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
FName.Text = "Name:"+FileUp.PostedFile.FileName


dim strFileName as string =FileUp.PostedFile.FileName.ToString()
dim namei as integer =strFileName.LastIndexOf(".")
dim strNameX as string=strFileName.Substring(namei)

dim sql as string
dim id as integer
Dim image,anewimage As System.Drawing.Image
dim width,height,newwidth,newheight as integer
Dim callb As System.Drawing.Image.GetThumbnailImageAbort

dim strNewName as string =Session.SessionID.Tostring() + DateTime.Now.Year.ToString()+ DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()

FileUp.PostedFile.SaveAs(Server.MapPath(".\classpic\" & strNewName & strNameX))

image=System.Drawing.Image.FromFile(Server.MapPath(".\classpic\" & strNewName & strNameX))

PicSize.text="size:" & "width:" & image.Width & "  " & "height:" &image.height

if width>height then
newwidth=250
newheight=image.height/image.Width*newwidth
else
newheight=250
newwidth=image.Width/image.height*newheight
end if

aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr())
aNewImage.Save(Server.MapPath(".\smallpic\" & strNewName & "_small" & strNameX))
image.Dispose()

NewPicSize.text="SIZE:" & "width:" & newwidth & "  " & "height:" & newheight
End Sub
</script>
<Html>
<Body BgColor=White>
<Form Enctype="multipart/form-data" onsubmit="return guestbook_Validator(this)" runat="server">
<FONT COLOR="#CC0000">UplaodFile:</FONT>
<Input Type="File" id="FileUp" runat="server" size="20">
<Asp:button id="Upload" OnClick="UploadFile" Text="UpLoadFile" runat="server"/><BR>
<Asp:Label id="FSize" runat="server" enableviewstata="falase"/><BR>
<Asp:Label id="FName" runat="server" enableviewstata="falase"/><BR>
<Asp:Label id="PicSize" runat="server" enableviewstata="falase"/><BR>
<Asp:Label id="NewPicSize" runat="server" enableviewstata="falase"/>
</form>
</Body>
</Html>
guojiwei 2004-03-30
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/
这里有你需要的
FIRSTVIP 2004-03-30
  • 打赏
  • 举报
回复
我自己写的主要是看帮助,真不好写啊,不过算是实现了,回头看看,简单的很
FIRSTVIP 2004-03-30
  • 打赏
  • 举报
回复
string path="E:\\1.jpeg";

FileStream fs = new FileStream(path, FileMode.Open);
long l=fs.Length;

Byte[] FileByteArray = new Byte[l];

System.Drawing.Image d=System.Drawing.Image.FromStream(fs);


Bitmap image1=new Bitmap(d,200,300);


int a=image1.Width;
int b=image1.Height ;



d.Dispose();
image1.Save("e:\\2.jpeg",System.Drawing.Imaging.ImageFormat.Jpeg);
d.Dispose();
image1.Dispose();
常修溢 2004-03-30
  • 打赏
  • 举报
回复
来学习,接分
FIRSTVIP 2004-03-30
  • 打赏
  • 举报
回复
使用了未赋值的局部变量“callb”
Dim callb As System.Drawing.Image.GetThumbnailImageAbort

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧