Einführung und Verwendungsübersicht der React-Native-Screenshot-Komponente react-native-view-shot

Einführung und Verwendungsübersicht der React-Native-Screenshot-Komponente react-native-view-shot

1. Phänomen

1. Voraussetzung: Erfassen Sie eine bestimmte Anzeigeseite, speichern Sie sie im Album und geben Sie sie in Form eines Posters frei.

2. Unterstützt iOS und Android

2. Lösung

1. Installation: npm i --save react-native-view-shot

2. Linkverarbeitung: react-native link react-native-view-shot

3. Wenn Sie iOS verwenden, müssen Sie außerdem den folgenden Befehl ausführen (für Android nicht erforderlich): cd ios && pod install && cd ..

4. Verwendung:

(1) Verweise:

importiere { captureRef } von „react-native-view-shot“;

(2) Muster:

 <View ref="shareImageRef">Hier ist der anzuzeigende Inhalt</View>

(3) Methoden:

// Den abgefangenen Bildlink abrufen doDownLoadImage = () => {
  captureRef(diese.refs.shareImageRef, {
    Format: "jpg",
    Qualität: 0,8
  }).Dann(
    uri => {

      console.error("Link ist:", uri)

    },
    Fehler => {

      console.error("Fehlermeldung:", Fehler)

    } 
  );
}

// Evolution-Methode, hole den abgefangenen Bildlink und speichere ihn im Album doDownLoadImage = () => {
  captureRef(diese.refs.shareImageRef, {
    Format: "jpg",
    Qualität: 0,8
  }).Dann(
    uri => {

      console.error("Link ist:", uri) 

      lass versprechen = CameraRoll.saveToCameraRoll(uri);
      versprechen
      .then((Ergebnis) => {
        alert('Erfolgreich gespeichert!');
      })
      .catch((Fehler) => {
        alert('Speichern fehlgeschlagen!');
      });

    },
    Fehler => {

      console.error("Fehlermeldung:", Fehler)

    } 
  );
}

Hinweis: Speichern Sie die Referenz (Selbstinstallation): importiere CameraRoll von '@react-native-community/cameraroll';

// Konvertiere den generierten Link in Base64 und verarbeite ihn in einen teilbaren Link. doShareImg = () => {
  captureRef(diese.refs.shareImageRef, {
    Format: "jpg",
    Qualität: 0,8
  }).Dann(
    uri => {

      console.error("Link ist:", uri) 

        RNFS.readFile(uri, "base64")
      .then((Inhalt) => {

        // Die Adresse des freigegebenen Posterbildes lautet:

        const link = 'data:image/png;base64,' + Inhalt

        console.log("Die Adresse des freigegebenen Posterbilds lautet" + Link)
      })
      .catch((err) => {
        console.log("Lesefehler: " + err);
      });

    },
    Fehler => {

      console.error("Fehlermeldung:", Fehler)

    } 
  );
}

Hinweis: Das Bild wird in Base64 konvertiert und referenziert: importiere RNFS von ‚react-native-fs‘;

3. Zusammenfassung:

Weitere Verwendungsmethoden und Parameter können bei Bedarf bezogen werden: https://www.npmjs.com/package/react-native-view-shot

TIPPS: Unter Android kann ein solches Problem auftreten, wie in der Abbildung dargestellt:

Versuch, die Ansicht mit dem Tag 2573 aufzulösen, das nicht existiert oder

Versuch, die Ansicht mit dem Tag 2105 aufzulösen, das nicht existiert

Ich bin auf beide Phänomene gestoßen. Die Lösung besteht darin, dem abzufangenden Inhalt eine Hintergrundfarbe hinzuzufügen.

Wenn Sie dem Modul hinzufügen:

<View ref="shareImageRef" style={{backgroundColor: 'white'}}>Hier ist der anzuzeigende Inhalt</View>

Dies ist das Ende dieses Artikels über die Einführung und Verwendung der React-Native-Screenshot-Komponente react-native-view-shot. Weitere relevante Inhalte zur React Native-Screenshot-Komponente finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So verwenden Sie SVG in React- und Vue-Projekten
  • Implementierung von TypeScript im React-Projekt
  • React realisiert sekundäre Verknüpfung (linke und rechte Verknüpfung)
  • Detaillierte Erläuterung des grundlegenden Falls des React.js-Frameworks Redux
  • So verwenden Sie wangEditor in Vue und erhalten durch Echo von Daten den Fokus
  • Vergleich der Vorteile von vue3 und vue2
  • Vue realisiert einen dynamischen Fortschrittsbalkeneffekt
  • Vue implementiert einen dynamischen kreisförmigen prozentualen Fortschrittsbalken
  • Vue realisiert den Prozentbalkeneffekt
  • Details zum Schreiben von React in einem Vue-Projekt

<<:  Ausführliches Tutorial zur Installation von Deepin in VMware15 (Bild und Text)

>>:  Detailliertes Tutorial zur Installation von MySQL 8.0.19 in der Zip-Version unter Win10

Artikel empfehlen

MySQL-Reihe: Redo-Log, Undo-Log und Binlog – ausführliche Erklärung

Durchführung von Transaktionen Das Redo-Protokoll...

Lösung für Win10 ohne Hyper-V

Suchen Sie immer noch nach einer Möglichkeit, Hyp...

So ändern Sie den Inhalt eines vorhandenen Docker-Containers

1. Docker ps listet Container auf 2. Docker cp ko...

Detailliertes Tutorial zur Installation von MySQL unter Linux

1. Beenden Sie den MySQL-Dienst # service mysqld ...

Detaillierte Erklärung des Cocoscreater-Prefabs

Inhaltsverzeichnis Fertighaus So erstellen Sie ei...

Webdesign-Erfahrung: Effizientes Schreiben von Webcode

Ursprünglich sollte dieses siebte Kapitel eine aus...

Implementierung der One-Click-TLS-Verschlüsselung für die Docker-Remote-API

Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...

CSS3 erstellt eine Webanimation, um einen springenden Balleffekt zu erzielen

Grundlegende Vorbereitung Für diese Implementieru...

So implementieren Sie verschiebbare Komponenten in Vue

In diesem Artikel erfahren Sie, wie Sie ziehbare ...