0

这是我从这个链接得到的代码

我希望用户上传图片然后调整大小............

Public Sub ResizeFromStream(ByVal ImageSavePath As String, ByVal MaxSideSize As Integer, ByVal Buffer As System.IO.Stream)

    Dim intNewWidth As Integer
    Dim intNewHeight As Integer
    Dim imgInput As System.Drawing.Image = System.Drawing.Image.FromStream(Buffer)


    'Determine image format
    Dim fmtImageFormat As ImageFormat = imgInput.RawFormat

    'get image original width and height
    Dim intOldWidth As Integer = imgInput.Width
    Dim intOldHeight As Integer = imgInput.Height

    'determine if landscape or portrait
    Dim intMaxSide As Integer

    If (intOldWidth >= intOldHeight) Then
        intMaxSide = intOldWidth
    Else
        intMaxSide = intOldHeight
    End If

    If (intMaxSide > MaxSideSize) Then
        'set new width and height
        Dim dblCoef As Double = MaxSideSize / CDbl(intMaxSide)

        intNewWidth = Convert.ToInt32(dblCoef * intOldWidth)
        intNewHeight = Convert.ToInt32(dblCoef * intOldHeight)

    Else

        intNewWidth = intOldWidth
        intNewHeight = intOldHeight
    End If
    'create new bitmap
    Dim bmpResized As Drawing.Bitmap = New Drawing.Bitmap(imgInput, intNewWidth, intNewHeight)

    'save bitmap to disk
    bmpResized.Save(ImageSavePath, fmtImageFormat)

    'release used resources
    imgInput.Dispose()
    bmpResized.Dispose()
    Buffer.Close()

End Sub

现在,当我单击提交按钮时,它必须执行我的代码,但我不确定缓冲区字段的输入必须是什么?

Protected Sub btnUpload_Click() Handles btnUpload.Click

     ResizeFromStream("~Pics", 200, ??????????)

End Sub

提前致谢!

编辑 我需要从文件上传控件中获取我的图像!

4

2 回答 2

0

你可以像这样传递一个流对象:

Dim fs As New FileStream("C:\file.jpg", FileMode.Open)

ResizeFromStream("~Pics", 200, fs)

所以代码将对文件“file.jpg”执行 IO。这是一个非常粗略的例子,但正如 Jon Skeet 所问的,图像的来源位置很重要。我的例子只是简单的“让你开始”类型。

于 2009-06-26T12:11:01.390 回答
0

FileUpload.FileContent 获取文件内容的流。

于 2009-07-01T12:35:48.923 回答