将调整大小的图像显示为 return 值而不是页面内容

Display resized image as a return value and not as page content

Page_Load 上,我希望页面显示图像的方式与您 "Open image in a new tab" 时的显示方式相同。换句话说,我希望页面显示为内容类型 Image/jpeg 而不是在 img HTML 标记中呈现图像。

我在 Page_Load:

上使用以下代码成功地以这种方式显示了图像
Page.Response.ContentType="image/jpeg"
Page.Response.WriteFile("Path_to_the_Image")

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

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

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

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

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 注释