2014-11-05 63 views
0

我正在使用JQuery Imazen.Crop裁剪图像。从内存中检索图像,裁剪并将其保存在内存中

这里是在画布上

  • 在作物BUTTOM点击事件要求

    • 上传图片
    • 存储在内存中
    • 显示图像保存在内存中。

    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命令物理存储在磁盘上的图像,而是我需要将其保存在内存中,这样我既可以保存在磁盘或数据库时,用户点击保存按钮页。

    我可以做任何事情与作物URL值 “数据:图像/ PNG作物= 261,43,461,203 & cropxunits = 500个& cropyunits = 400”

  • 回答

    0

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

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

    相关问题