पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv0.2.2

whiteboardkit

एक अद्भुत Flutter व्हाइटबोर्ड वास्तुकला जिसमें ड्रॉइंग टूलबॉक्स है।

30-दिन डाउनलोड
29
लाइक
50
Pub अंक
35

पैकेज इंस्टॉल करें

flutter pub add whiteboardkit

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

WhiteboardKit एक Flutter पैकेज है जो एक संपूर्ण कार्यात्मक व्हाइटबोर्ड विन्यास प्रदान करता है, जिसमें एक सहज ड्राइंग टूलबॉक्स होता है। यह उपयोगकर्ताओं को कैनवस पर पेन, मार्कर और इरेजर जैसे कस्टमाइज़ किए गए टूल्स के साथ ड्राइंग, एरेज और एनोटेशन करने की अनुमति देता है। सरलता और प्रदर्शन के लिए डिज़ाइन किया गया, यह टच इनपुट का समर्थन करता है और वास्तविक समय में स्केचिंग या सहयोगी टिप्पणी की आवश्यकता वाले ऐप्स में बिना किसी दिक्कत के एकीकृत होता है। शैक्षिक, डिज़ाइन या नोट लेने वाले ऐप्स के लिए उपयुक्त, यह उपकरण उपकरणों पर चलने वाले एक चिकने और प्रतिक्रियाशील ड्राइंग अनुभव प्रदान करता है।

उपयोग

  • डिजिटल स्केचिंग
  • सहयोगी व्हाइटबोर्डिंग
  • शैक्षिक उपकरण
  • इंटरैक्टिव नोट टेकिंग
  • डिज़ाइन प्रोटोटाइपिंग

मुख्य विशेषताएँ

  • बहुत सारे उपकरणों वाला ड्रॉइंग टूलबॉक्स
  • वास्तविक समय टच इनपुट समर्थन
  • कस्टमाइज़ किए गए स्ट्रोक शैली
  • Flutter के साथ सरल एकीकरण
  • प्रतिक्रियाशील कैनवास रेंडरिंग

इनके लिए उपयुक्त

  • Educators
  • Designers
  • एप्लिकेशन विकासकर्ता
  • Students
  • दूरस्थ सहयोग उपकरण

विचार योग्य बातें

  • सीमित प्लेटफॉर्म-विशिष्ट अनुकूलन
  • कोई निर्मित क्लाउड सिंक नहीं
  • हाथ से राज्य प्रबंधन की आवश्यकता है
  • बड़े कैनवास के लिए अनअनुकूलित
  • डिफ़ॉल्ट रूप से कोई वापसी/फिर से करने का इतिहास नहीं है

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

whiteboardkit

A Flutter whiteboard widget with so much extendability and flexibility to be used with no need to rewrite your own whiteboard. Enjoy !

Package demo

live demo: https://abdulaziz-mohammed.github.io/whiteboardkit

Usage

import whiteboardkit.dart

import 'package:whiteboardkit/whiteboardkit.dart';

     

Drawing:

Define DrawingController and listen to change event:

  DrawingController controller;

  @override
  void initState() {
    controller = new DrawingController();
    controller.onChange().listen((draw){
      //do something with it
    });
    super.initState();
  }

Place your Whiteboard inside a constrained widget ie. Container,Expanded etc

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Expanded(
              child: Whiteboard(
                controller: controller,
              ),
            ),
          ],
        ),
      ),
    );
  }

     

Playback:

Define PlaybackController and supply it with a WhiteboardDraw object:

  PlaybackController controller;

  @override
  void initState() {
    var draw = WhiteboardDraw.fromWhiteboardSVG("<svg...");
    controller = new PlaybackController(draw);
    super.initState();
  }

Place your Whiteboard inside a constrained widget ie. Container,Expanded etc

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Expanded(
              child: Whiteboard(
                controller: controller,
              ),
            ),
          ],
        ),
      ),
    );
  }

     

Stream (e.g. online whiteboard):

Define SketchStreamController:

  PlayerController controller;

  @override
  void initState() {
    controller = new SketchStreamController();
    super.initState();
  }

Place your Whiteboard inside a constrained widget ie. Container,Expanded etc

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Expanded(
              child: Whiteboard(
                controller: controller,
              ),
            ),
          ],
        ),
      ),
    );
  }

Later, supply it with DrawChunk when recived from DrawingController:

  controller.addChunk(chunk);

You'l need to enable chunks producing in DrawingController then start listening to new chunks:

    controller = new DrawingController(enableChunk: true);
    _chunkSubscription = controller.onChunk().listen((chunk) {
    }

DrawChunk supports:

  • chunk.toJson()
  • DrawChunk.fromJson("...")
    which together can help in transfering chunks through network or any other medium

     

WhiteboardDraw class:

  • Map<String, dynamic> toJson()
  • WhiteboardDraw.fromJson(Map<String, dynamic> json)
  • string getSVG():
    Export to SVG Image format string

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 5 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।