Rumah  >  Artikel  >  hujung hadapan web  >  Gambar png pembaikan Nodejs diproses oleh ipa_node.js

Gambar png pembaikan Nodejs diproses oleh ipa_node.js

WBOY
WBOYasal
2016-05-16 15:15:091220semak imbas

Baru-baru ini saya menemui keperluan dalam projek: menghuraikan pakej apk dan ipa, kemudian muat naik ikon di dalam ke pelayan.

Soalan

Proses penghuraian dan muat naik agak mudah Saya menggunakan JSZip untuk menyahmampat apk dan ipa, dan kemudian memuat naik ikon yang terdapat di dalam ke pelayan. Walau bagaimanapun, masalah timbul apabila saya menggunakan imej dalam halaman web. Tidak ada masalah dengan ikon dalam apk, tetapi gambar yang dihuraikan dalam ipa boleh dipaparkan secara normal dalam safari, tetapi tidak boleh dipaparkan dalam mana-mana pelayar lain.

Sebab

Selepas Google, saya mendapati bahawa Apple telah mengoptimumkan imej png Sila baca artikel ini (lihat) untuk mendapatkan maklumat yang berguna dalam artikel:

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

Penyelesaian

Sebagai jurutera hadapan, saya berharap dapat menggunakan javascript untuk menyelesaikan masalah ini. Malah, seseorang di luar negara telah menyelesaikannya sebelum ini.

Saya tidak dapat mencari satu yang tersedia, jadi saya terpaksa membuat makanan dan pakaian yang mencukupi sendiri dan menulis sendiri. Oleh itu nod-pngdefry. Fungsi node-pngdefry sangat jelas, iaitu menggunakan Javascript untuk memulihkan imej png yang diproses oleh Apple.

node-pngdefry sangat mudah digunakan dan menyokong baris arahan dan Node.js biasa:

Penggunaan baris arahan

pasang:

$ npm install -g pngdefry

kemudian jalankan:

$ pngdefry -i icon.png -o icon.new.png

Menggunakan dalam 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');
});

Ujian

$ npm test

Alamat Projek

nod-pngdefry

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn