FLUTTER ECOSYSTEM

harshilchovatiya/image_to_clipboard

ImageToClipboard は、Flutter アプリケーションで画像をクリップボードにコピーするのを容易にするシンプルかつ効率的なプラグインです。このプラグインは現在、Android でのみサポートされています。

image_to_clipboard のプロジェクト画像
Stars
0
Forks
0
最終プッシュ(UTC)
2024/07/29
プロジェクト状態
公開中
Harshil Chovatiya GitHub avatar
GITHUB User

Harshil Chovatiya ↗

Flutter Developer | Web Developer | Web Designer

言語DartKotlin

技術トピック

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 4 件
  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.0.2
  • flutter_test開発用{"sdk":"flutter"}
  • flutter_lints開発用^3.0.0

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

ImageToClipboard

A Flutter plugin to copy images to the clipboard on Android. This plugin allows you to easily copy image files to the clipboard, enabling quick and convenient image sharing within your Flutter apps.

Description

ImageToClipboard is a simple and efficient plugin designed to facilitate the copying of images to the clipboard in Flutter applications. This plugin is currently supported on Android.

Features

  • Copy any image file to the clipboard.
  • Easy to integrate with your existing Flutter projects.
  • Handles file permissions and URI exposure securely.

Getting Started

To use this plugin, follow the steps below:

1. Add Dependency

Add the following dependency to your pubspec.yaml file:

dependencies:
  image_to_clipboard: ^0.0.1
2. Android Setup

In your Android project, you need to update the AndroidManifest.xml and provide a file provider path configuration.

Update AndroidManifest.xml

Add the following inside the <application> tag:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>
Create file_paths.xml

Create a new XML file named file_paths.xml in android/app/src/main/res/xml/ directory with the following content:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="."/>
</paths>
3. Request Permissions

Ensure you request the necessary storage permissions in your app. You can use the permission_handler package for this purpose.

Add the following permissions to your AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Usage

Here’s a simple example of how to use the ImageToClipboard plugin:

import 'package:flutter/material.dart';
import 'package:image_to_clipboard/image_to_clipboard.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ClipboardExample(),
    );
  }
}

class ClipboardExample extends StatefulWidget {
  @override
  _ClipboardExampleState createState() => _ClipboardExampleState();
}

class _ClipboardExampleState extends State<ClipboardExample> {
  String _status = 'Idle';

  Future<void> _copyImage(String path) async {
    String? result = await ImageToClipboard.copyImageToClipboard(path);
    setState(() {
      _status = result ?? 'Failed to copy image';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Clipboard Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Status: $_status'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () {
                // Replace with the actual path of your image file
                String imagePath = '/path/to/your/image.png';
                _copyImage(imagePath);
              },
              child: Text('Copy Image to Clipboard'),
            ),
          ],
        ),
      ),
    );
  }
}

Additional Information

  • Platform Support: Currently, this plugin supports only Android. iOS support will be added in future releases.
  • Permissions: Ensure that the necessary storage permissions are granted for the plugin to function correctly.
  • Documentation: For detailed documentation, refer to the package documentation.
  • Contributing: Contributions are welcome! Please check the CONTRIBUTING.md for guidelines on how to contribute.
  • Issues: If you encounter any issues, please file them on the issue tracker.

For more detailed information and updates, visit the GitHub repository.


By following the instructions and example provided, you can easily integrate the ImageToClipboard plugin into your Flutter applications and enable image copying to the clipboard on Android devices.