摘要:但是,當我在網頁中使用圖片時,問題出現了。原因后發現,是蘋果對圖片進行了優化處理,具體看這篇文章查看,在文章中我們可以了解到一些有用信息。的功能很明確,就是用來還原被蘋果處理過的圖片。
最近做項目遇到一個需求:解析apk和ipa包,然后把里面的icon上傳到服務器。
問題解析上傳過程比較簡單,我使用JSZip對apk和ipa進行解壓,然后把找到里面的icon上傳到服務器。但是,當我在網頁中使用圖片時,問題出現了。對于apk中的icon,沒有任何問題,但是對于ipa中解析出來的圖片,在safari中可以正常顯示,在其他任何瀏覽器去無法顯示。
原因Google后發現,是蘋果對png圖片進行了優化處理,具體看這篇文章(查看),在文章中我們可以了解到一些有用信息:
解決方案Apple uses PNGCursh open source library to crush png images inside iPA files。
作為一個前端工程師,我希望用javascript解決這個問題。其實之前國外已經有人去解決了,NodeJS-PNGDefry就是可以,可惜這個太久沒維護,已經跑不起來。
找不到可用的,我只能自己動手豐衣足食,自己寫一個。因此有了node-pngdefry。node-pngdefry的功能很明確,就是用Javascript來還原被蘋果處理過的png圖片。
node-pngdefry用法很簡單,支持命令行和常規的Node.js:
命令行用法install:
$ npm install -g pngdefry
then run:
$ pngdefry -i icon.png -o icon.new.png在Node.js中使用
$ npm install pngdefry --save-dev
var pngdefry = require("pngdefry"); var path = require("path"); var input = path.join(__dirname, "icon.png"); var output = path.join(__dirname, "icon.new.png"); pngdefry(input, output, function(err) { if (err) { return; } console.log("success"); });Test
$ npm test項目地址
node-pngdefry
感謝最后感謝上面提到的文章的作者Jongware。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78660.html
摘要:背景介紹使用將包括安卓和上傳到七牛上傳所以不考慮數據處理使用后臺得到七牛上傳基于下面不詳述如何使用參見七牛上傳的簡單案例也不詳述,參見官網事例很清楚了。指定上傳的目標資源空間和資源鍵的長度最大為字節。,表示只允許用戶上傳指定的文件。 背景介紹 使用JS將APP(包括安卓和IOS)上傳到七牛 (上傳APP所以不考慮數據處理) uptoken使用JAVA后臺得到 七牛上傳基于pluplo...
摘要:如下圖所示一重繪與回流前端性能優化最關鍵的就是減少頁面的重繪與回流。很明顯就是少了一步,這是因為把會觸發回流的屬性用替代,這樣就使渲染的過程減少了這一步,使渲染的時間減少從而提高性能。 我們今天來說說前端圖形渲染優化,因為我接下來的時間可能要開始研究webgl方面的東西,所以就在這里把之前做過的H5做一個總結,現同步發布于GERRY_BLOG,TiMiGerry-知乎,轉載請保留鏈接。...
摘要:如下圖所示一重繪與回流前端性能優化最關鍵的就是減少頁面的重繪與回流。很明顯就是少了一步,這是因為把會觸發回流的屬性用替代,這樣就使渲染的過程減少了這一步,使渲染的時間減少從而提高性能。 我們今天來說說前端圖形渲染優化,因為我接下來的時間可能要開始研究webgl方面的東西,所以就在這里把之前做過的H5做一個總結,現同步發布于GERRY_BLOG,TiMiGerry-知乎,轉載請保留鏈接。...
閱讀 2907·2021-11-19 09:40
閱讀 3578·2021-10-09 09:43
閱讀 2675·2021-09-22 15:31
閱讀 1724·2021-07-30 15:31
閱讀 782·2019-08-30 15:55
閱讀 3256·2019-08-30 15:54
閱讀 1160·2019-08-30 11:26
閱讀 1907·2019-08-29 13:00