【问题标题】:retrieve image from memory , crop it and save it again in memory从内存中检索图像,裁剪并再次保存在内存中
【发布时间】:2014-11-05 10:09:53
【问题描述】:

我正在使用 JQuery Imazen.Crop 来裁剪图像。

这里是要求

  • 上传图片
  • 存储在内存中
  • 在画布上显示
  • 在裁剪按钮单击事件中将图像保存在内存中。

aspx 页面

    <asp:Image ID="imgCanvass" CssClass="imageCanvass" runat="server" ImageUrl="~/photos/inspectors/5500-tmp.png" Width="500" Height="500" />
    <ic:CropImage ID="cropImage" runat="server" Image="imgCanvass" CanvasWidth="500"  FixedAspectRatio="true" X="100" Y="100" W="132" H="170" />

将上传的图片存储在流中并在画布中显示的代码。

 If filBrowse.HasFile Then
        fileExtension = System.IO.Path.GetExtension(filBrowse.FileName)

        Dim fs As Stream = filBrowse.PostedFile.InputStream
        Dim br As New BinaryReader(fs)
        Dim bytes As [Byte]() = br.ReadBytes(CInt(fs.Length))
        Dim base64String As String = Convert.ToBase64String(bytes, 0, bytes.Length)

        imgCanvass.ImageUrl = Convert.ToString("data:image/png;base64,") & base64String   
        Me.panelCanvass.Visible = True
    End If

我可以使用cropImage.Crop 命令将图像物理存储在磁盘上,但我需要将其保存在内存中,以便在用户单击页面上的保存按钮时可以将其保存在磁盘或数据库中。

我可以对裁剪网址值“data:image/png?crop=261,43,461,203&cropxunits=500&cropyunits=400”做任何事情

【问题讨论】:

    标签: jquery asp.net vb.net canvas


    【解决方案1】:

    您可以将这些值连同源流一起发送到ImageResizer,并将结果写入 MemoryStream。

    new ImageJob(sourceStream,memoryStream, new Instructions("crop=261,43,461,203&amp;cropxunits=500&amp;cropyunits=400")).Build();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多