2014-11-05 61 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();

    相關問題