国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

nodejs修復(fù)ipa處理過的png圖片

2024-05-06 16:28:32
字體:
供稿:網(wǎng)友
ipa本身是一個zip文件改后綴后解壓縮就能看到應(yīng)用內(nèi)使用的資源文件,其中png圖片資源xcode打包的時候做了些手腳下面我們來看看如何修復(fù)這些問題
 

最近做項目遇到一個需求:解析apk和ipa包,然后把里面的icon上傳到服務(wù)器。

問題

解析上傳過程比較簡單,我使用JSZip對apk和ipa進行解壓,然后把找到里面的icon上傳到服務(wù)器。但是,當(dāng)我在網(wǎng)頁中使用圖片時,問題出現(xiàn)了。對于apk中的icon,沒有任何問題,但是對于ipa中解析出來的圖片,在safari中可以正常顯示,在其他任何瀏覽器去無法顯示。

原因

Google后發(fā)現(xiàn),是蘋果對png圖片進行了優(yōu)化處理,具體看這篇文章(查看),在文章中我們可以了解到一些有用信息:

Apple uses PNGCursh open source library to crush png images inside iPA files。

解決方案

作為一個前端工程師,我希望用javascript解決這個問題。其實之前國外已經(jīng)有人去解決了,NodeJS-PNGDefry就是可以,可惜這個太久沒維護,已經(jīng)跑不起來。

找不到可用的,我只能自己動手豐衣足食,自己寫一個。因此有了node-pngdefry。node-pngdefry的功能很明確,就是用Javascript來還原被蘋果處理過的png圖片。

node-pngdefry用法很簡單,支持命令行和常規(guī)的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



注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永顺县| 平凉市| 教育| 漳州市| 田东县| 资兴市| 株洲市| 弥渡县| 吉木萨尔县| 涿州市| 陇川县| 新建县| 河津市| 察哈| 湖南省| 灯塔市| 万源市| 磐石市| 阜新市| 兴和县| 西盟| 内丘县| 贵德县| 奉节县| 阿克苏市| 安图县| 托克托县| 车险| 西和县| 新泰市| 穆棱市| 阿合奇县| 新丰县| 屏南县| 金塔县| 秦安县| 山阳县| 九龙坡区| 遂溪县| 洪雅县| 武宁县|