1. 程式人生 > >利用HTML5中Canvas處理並存儲圖片

利用HTML5中Canvas處理並存儲圖片

      HTML5中增加的Canvas元素,配合JS靈活的語法,處理起圖片變得異常簡單,不需要在客戶端用C/C++寫一大堆程式碼,對於熟悉JS的程式設計師來說,只需要考慮處理圖片的邏輯了。

      canvas中如果想要處理圖片就需要藉助ImageData這個物件,就是將畫布中某一區域中的影象以RGBA的方式儲存下來,存成一個二維陣列。

    

     寫了個簡單的處理影象的類,可以翻轉/灰化/去色/高亮/設單色值

    

     通過一系列操作,渲染好影象後,就需要藉助如下的程式碼將畫布中的影象儲存成圖片

    

    save.aspx中的程式碼如下:

   

   PS: 由於沙箱的限制,想在瀏覽器端通過JS直接存為本地圖片,似乎是不大可能,現在網上較為折中的方式為

   window.location.href = "image/octet-stream" + data

   但這種方式不能指定儲存的檔名,在FF下預設是xxxxx.part