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

首頁 > 編程 > JavaScript > 正文

nodejs修復ipa處理過的png圖片

2019-11-20 10:34:48
字體:
來源:轉載
供稿:網友

最近做項目遇到一個需求:解析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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰武县| 满城县| 曲沃县| 翁源县| 临江市| 余姚市| 九龙城区| 甘泉县| 龙口市| 大竹县| 洛宁县| 谢通门县| 象山县| 侯马市| 邢台市| 竹北市| 疏勒县| 通江县| 克东县| 屏东县| 镇远县| 德庆县| 安达市| 泰安市| 琼结县| 碌曲县| 大兴区| 法库县| 浦东新区| 罗山县| 石城县| 肥城市| 阿城市| 三明市| 武义县| 瑞丽市| 青河县| 弥勒县| 明星| 偏关县| 邹平县|