Отображать измененное изображение как возвращаемое значение, а не как содержимое страницы - PullRequest
0 голосов
/ 07 июня 2018

На Page_Load, я хочу, чтобы страница отображала изображение так же, как оно отображается при «Открыть изображение в новой вкладке» .Другими словами, я хочу, чтобы страница отображалась как тип содержимого Image/jpeg вместо отображения изображения в img HTML-теге.

Я успешно отобразил изображение таким образом, используя приведенный ниже код для 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() требует String в качестве ввода.Есть ли способ, где я могу отобразить изображение типа Image или System.Bitmap непосредственно на странице без необходимости сохранять его во временной папке, а затем использовать его путь (как String) и передать его Page.Response.WriteFile

1 Ответ

0 голосов
/ 07 июня 2018
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 note

...