首页 > 解决方案 > 将调整大小的图像显示为返回值而不是页面内容

问题描述

在 上,我希望页面以与“在新选项卡中打开图像”Page_Load时相同的方式显示图像。换句话说,我希望页面显示为内容类型,而不是在HTML 标记中呈现图像。Image/jpegimg

我使用以下代码以这种方式成功显示了图像Page_Load

Page.Response.ContentType="image/jpeg"
Page.Response.WriteFile("Path_to_the_Image")

但是,我的案例需要在调整大小后显示图像。我创建了一个调整图像大小并将调整后的图像返回为的函数Drawing.Bitmap

ResizeImage(bmSource As Drawing.Bitmap, TargetWidth As Int32, TargetHeight As Int32)

如何使用该函数的返回值并以与显示第一张图像相同的方式显示它?

Page.Response.WriteFile()需要 aString作为输入。有没有一种方法可以将类型的图像显示ImageSystem.Bitmap直接显示到页面中,而无需将其保存在临时文件夹中,然后使用其路径(As a String)并将其传递给Page.Response.WriteFile

标签: asp.netvb.netcontent-typesystem.drawing

解决方案


Page.Response.ContentType="image/jpeg"
Using resizedImage As Bitmap = ResizeImage(source, 100, 100)
    source.Dispose()    
    resizedImage.Save(Page.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
End Using
Page.Response.Flush()

这应该可行,也许我的语法有一些错误。我不经常在 vb.net 中编码。

由于@Joel Coehoorn 注释而编辑了代码


推荐阅读