heic格式轉碼


在ios13系統及以上的蘋果機,系統這有這樣一種格式的圖片,就是heic;這是一種比jpeg壓縮效率更高的格式;但是,這種格式目前在前端的開發中,我並沒有發現可以用於展示的標簽及其他方法;只能通過轉碼這種方式,對圖片格式進行轉碼,已達到兼容的效果;

轉碼方式有:

一、后台的方式:

連接:https://github.com/nokiatech/heif;

這是諾基亞提供的開源及免費的代碼;有需要可以參考;作為前端孩子,就不再研究了;

二、前端方式:

1.nokia轉碼方式也提供了javaScript的方式,heic2any這個插件就是繼續nokia實現的;使用heic2any這個插件進行轉碼,heic2any這個插件可以對heif的圖片轉換成多種格式,入jpeg、gif、png,親測在安卓端效率還是挺快的,但是在ios端盡心轉碼的話,一個1.5m左右的圖片,花費了2分多種的時間,甚至更長,對於性能有要求的,建議還是通過后台進行轉化

;已vue項目為例,展示使用方式:

首先是安裝

npm install heic2any

其次在使用的頁面進行引入,便可以使用了;具體代碼如下:

import heic2any from 'heic2any'


heic2any({
   blob,  // 將heic轉換成一個buffer數組的圖片
   toType: 'image/jpg', //要轉化成具體的圖片格式,可以是png/gif
   quality: 0.1   // 圖片的質量,參數在0-1之間
      
}).then(result => {
   let file = new FileReader();
   file.onload = function(imageFile) {
        let imgBase64 = imgFile.target.result; 
   
    };
    file.readAsDataURL(result);
    
})

以上還可以同事轉換多張圖片,可以通過multiple這個參數設置;具體就不展示了,可以查看源碼;

源碼地址:https://github.com/alexcorvi/heic2any/blob/master/src/heic2any.ts

更多示例: https://github.com/alexcorvi/heic2any/blob/master/docs/getting-started.md

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM