Heim > Web-Frontend > js-Tutorial > Hauptteil

Nodejs repariert PNG-Bilder, die von ipa_node.js verarbeitet wurden

WBOY
Freigeben: 2016-05-16 15:15:09
Original
1261 Leute haben es durchsucht

Ich bin kürzlich in einem Projekt auf eine Notwendigkeit gestoßen: APK- und IPA-Pakete analysieren und dann die darin enthaltenen Symbole auf den Server hochladen.

Frage

Der Parsing- und Upload-Prozess ist relativ einfach. Ich verwende JSZip, um die APK und IPA zu dekomprimieren und dann das darin enthaltene Symbol auf den Server hochzuladen. Allerdings tritt das Problem auf, wenn ich Bilder in Webseiten verwende. Es gibt kein Problem mit den Symbolen in der APK, aber die in der IPA analysierten Bilder können in Safari normal angezeigt werden, in keinem anderen Browser jedoch.

Grund

Nach Google habe ich festgestellt, dass Apple PNG-Bilder optimiert hat. Weitere Informationen finden Sie in diesem Artikel:

Apple uses PNGCursh open source library to crush png images inside iPA files。
Nach dem Login kopieren

Lösung

Als Front-End-Ingenieur hoffe ich, dieses Problem mit Javascript lösen zu können. Tatsächlich hat es schon einmal jemand im Ausland gelöst. NodeJS-PNGDefry ist leider nicht mehr lauffähig.

Ich konnte keins finden, also musste ich selbst genug Essen und Kleidung herstellen und selbst eines schreiben. Daher node-pngdefry. Die Funktion von node-pngdefry ist sehr klar: Sie verwendet Javascript, um von Apple verarbeitete PNG-Bilder wiederherzustellen.

node-pngdefry ist sehr einfach zu verwenden und unterstützt die Befehlszeile und reguläre Node.js:

Befehlszeilenverwendung

Installieren:

$ npm install -g pngdefry
Nach dem Login kopieren

dann ausführen:

$ pngdefry -i icon.png -o icon.new.png
Nach dem Login kopieren

Verwendung in Node.js

$ npm install pngdefry --save-dev
Nach dem Login kopieren
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');
});

Nach dem Login kopieren

Testen

$ npm test
Nach dem Login kopieren

Projektadresse

node-pngdefry

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage