FLUTTER ECOSYSTEM

himanshugarg08/draw_on_path

Um pacote do Flutter usado para desenhar texto ou padrão ao longo do caminho fornecido.

Capa do projeto draw_on_path
Stars
15
Forks
8
Último push (UTC)
1 de jun. de 2023
Status do projeto
Ativo
Himanshu Garg GitHub avatar
GITHUB User

Himanshu Garg ↗

Software Engineer | Flutter

IIIT KotaIndiaSite oficial ↗
LinguagensC++DartCMakeHTMLCSwiftKotlinObjective-C

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 3 itens
  • flutter{"sdk":"flutter"}
  • flutter_testDesenvolvimento{"sdk":"flutter"}
  • flutter_lintsDesenvolvimento^2.0.0

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher 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