FLUTTER ECOSYSTEM

himanshugarg08/draw_on_path

指定されたパスに沿ってテキストまたはパターンを描画するために使用されるFlutterパッケージです。

draw_on_path のプロジェクト画像
Stars
15
Forks
8
最終プッシュ(UTC)
2023/06/01
プロジェクト状態
公開中
Himanshu Garg GitHub avatar
GITHUB User

Himanshu Garg ↗

Software Engineer | Flutter

IIIT KotaIndia公式サイト ↗
言語C++DartCMakeHTMLCSwiftKotlinObjective-C

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

使用している依存関係

依存関係一覧 3 件
  • flutter{"sdk":"flutter"}
  • flutter_test開発用{"sdk":"flutter"}
  • flutter_lints開発用^2.0.0

元の README

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

README を開く / 閉じる

Draw on Path

A Flutter package that is used to draw text or patterm along the given path.

Features

  • Draw text along path
  • Draw pattern along path
  • Support non-continuous path

Demo Video: https://youtu.be/TZAKSanD73k

Showcase

https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/1.gif?raw=true https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/2.gif?raw=true https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/3.gif?raw=true https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/4.gif?raw=true https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/5.gif?raw=true https://github.com/himanshugarg08/draw_on_path/blob/main/gifs/6.gif?raw=true

Usage

  • drawTextOnPath function is used to draw text along path.

    canvas.drawTextOnPath(text, path);
    
  • drawOnPath function is used to draw pattern along path. index can be used to draw different element at different position based on some logic. Use canvas to draw anything at position. The next position is calculated based on spacing provided.

    spacing should be greater than 0. Ideally spacing is the sum of one element width and spacing between two elements (spacing between starting points of two consecutive elements)

    canvas.drawOnPath(
        path,
        (int index, Canvas canvas, Offset position) {
          canvas.drawRect(
            Rect.fromCircle(center: position.translate(0, -16), radius: 16),
            Paint()
              ..color = Colors.white38
              ..strokeWidth = 2.0
              ..style = PaintingStyle.stroke,
          );
        },
        spacing: 70,
      );
    
  • Note: If the text (for given textStyle) is larger than the path, then it will clip extra text.

Contributing

1. Fork it (<https://github.com/himanshugarg08/draw_on_path/fork>)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request