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

Eine SQL-Anweisung schließt die MySQL-Deduplizierung ab und behält eine

Als ich vor einigen Tagen an einer Anforderung ar...

Fallstricke und Lösungen für das Upgrade von MySQL 5.7.23 in CentOS 7

Vorwort Kürzlich bin ich beim Upgrade von MySQL 5...

Natives JS zur Realisierung eines springenden Balls

Aus einer Laune heraus habe ich eine Fallstudie ü...

Eine kurze Diskussion über die Definition und Vorsichtsmaßnahmen von H-Tags

Den Ergebnissen zufolge gibt es für die Definitio...

Grundlegende Syntax des MySQL-Index

Ein Index ist eine sortierte Datenstruktur! Die F...

js realisiert eine schrittweise zunehmende digitale Animation

Inhaltsverzeichnis Hintergrund Erzielen Sie einen...

Auszeichnungssprache - Stylesheets drucken

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Optimierung der Datenbank-SQL-Anweisung

Warum optimieren: Beim Start des eigentlichen Pro...

Mit CSS3 erstellter Hover-Zoom-Effekt

Ergebnis:Implementierungscode: html <link href...

So ändern Sie das Root-Passwort in einem Container mit Docker

1. Verwenden Sie den folgenden Befehl, um das SSH...