FLUTTER ECOSYSTEM

himanshugarg08/draw_on_path

一个用于沿给定路径绘制文本或图案的 Flutter 包。

draw_on_path 项目封面
Stars
15
Forks
8
最近推送(UTC)
2023年6月1日
项目状态
未归档
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