2017-05-13 6 views
2

Ich muss Bild in meiner Reaktion native App bearbeiten, ich habe installiert als Bildverarbeitungsmodul jimp aber jimp erforderlich fs.Knoten js Bildverarbeitung ohne Dateisystem?

Da wir wissen, dass das native System keine Knotenumgebung hat, wird das Modul nodejs fs nicht bereitgestellt.

Es gibt Alternativen zu fs in reagieren nativen, wie react-native-fs, aber jimp nicht wissen, über react-native-fs es über fs weiß.

Ich muss das Bild auf der Clientseite bearbeiten.

Ich kann eine Bilddaten lesen, zum Beispiel in base64. Als Jimp brauchen fs als eine Abhängigkeit, so kann ich nicht mit diesen Daten manipulieren, einen Vorschlag für diesen Fall? Gibt es ein Modul, das die Bildverarbeitung in Nodejs ermöglicht, ohne das Modul fs von NodeJs zu benötigen?

+0

Ist es Ihnen wichtig, ob die Bildverarbeitung auf der Client- oder Serverseite stattfindet? Wenn die Serverseite in Ordnung ist, dann kann nodejs auf 'fs' zugreifen, um die Bildverarbeitung durchzuführen und dann die Antwort zurück an die Client-Frontend-App senden. –

+0

@ScottStensland Hallo, ich möchte das Bild auf der Clientseite bearbeiten – rakibtg

+0

Sie können immer Puffer verwenden/blob/stream as jimp selbst liest die Datei als Puffer und verarbeitet sie dann. Nur ein bisschen zwicken sollte hier helfen – binariedMe

Antwort

3

Ich denke, Sie versuchen, die npm-Version von Jimp zu importieren, die "fs" -Bibliothek von node.js benötigt.

Stattdessen, wenn Sie diese CDN importieren: JIMP CDN

Und dann versuchen, mit Beispiel Beispiel dieses:

Jimp.read("lenna.png").then(function (lenna) { 
lenna.resize(256, 256)   // resize 
    .quality(60)     // set JPEG quality 
    .greyscale()     // set greyscale 
    .getBase64(Jimp.MIME_JPEG, function (err, src) { 
      var img = document.createElement("img"); 
      img.setAttribute("src", src); 
      document.body.appendChild(img); 
    }); 
}).catch(function (err) { 
    console.error(err); 
}); 

Sie sollten alle api Eigenschaften jimp verwenden können.