Flutter good fit for painting/drawing app?

1,460 views
Skip to first unread message

Tom Arnold

unread,
Aug 14, 2017, 5:26:53 AM8/14/17
to Flutter Dev
Hello list,

I searched the web and this list, but I couldn't find an answer.. so:

Is Flutter a good choice for a painting/drawing game like Draw Something? 
I want have people paint with their fingers on a canvas without any lag and I want to be able to save the result.
Is that a use case that is easily implementable with Flutter in its current state? Or should I look elsewhere (Java, Unity, Xamarin etc).

Thanks a bunch,

- Tom -

Ian Hickson

unread,
Aug 14, 2017, 11:53:01 AM8/14/17
to Tom Arnold, Flutter Dev
Flutter seems like a fine way to implement such a game.

We don't have a simple API to convert a drawing into a PNG yet, but if exporting an SVG is acceptable you could easily convert drawing paths into <path> objects in SVG. If you need a bitmap exported then you'll need to find a way to convert the paths to a bitmap. There might be Dart packages that can do that, I haven't checked.

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--

--
Ian Hickson

😸

Eric Seidel

unread,
Aug 14, 2017, 3:53:46 PM8/14/17
to Ian Hickson, Tom Arnold, Flutter Dev

Brett Morgan

unread,
Aug 14, 2017, 6:47:07 PM8/14/17
to Eric Seidel, Ian Hickson, Tom Arnold, Flutter Dev
Just to dig into how to implement Tom's initial requirements - being able to draw on a screen using a finger with minimal lag. I'd like to confirm my initial investigations in the flutter.io docs:

In the Gestures documentation we have low level Pointer Down, Move and Up Events. Though we have higher level events (Tap, Double Tap, Long Tap, Horizontal and Vertical Drag), I feel for a painting app that the raw Pointer events are the level of granularity that we need.

In the Widgets, we have a CustomPaint widget that should allow us to paint the lines recorded from the Pointer events.

Is this the best path forward for creating a Flutter Draw Something style game?

Ian Hickson

unread,
Aug 14, 2017, 6:57:06 PM8/14/17
to Brett Morgan, Eric Seidel, Tom Arnold, Flutter Dev
I'd probably build it on top of the MultiDragGestureRecognizer rather than directly on pointer events (that way you can compete in the gesture arena with buttons and the like, if they overlap the drawing area, and can also recognize e.g. double-taps or whatnot).

Other than that, yes.

Seth Ladd

unread,
Aug 14, 2017, 7:03:44 PM8/14/17
to Ian Hickson, Brett Morgan, Eric Seidel, Tom Arnold, Flutter Dev
Would LOVE to see a Medium post for how someone used Flutter for a "draw on your screen" demo. Bonus Points if you first take a picture, and then draw on the picture! :)

On Mon, Aug 14, 2017 at 3:56 PM, Ian Hickson <i...@hixie.ch> wrote:
I'd probably build it on top of the MultiDragGestureRecognizer rather than directly on pointer events (that way you can compete in the gesture arena with buttons and the like, if they overlap the drawing area, and can also recognize e.g. double-taps or whatnot).

Other than that, yes.
On Mon, Aug 14, 2017 at 3:47 PM Brett Morgan <brett....@gmail.com> wrote:
Just to dig into how to implement Tom's initial requirements - being able to draw on a screen using a finger with minimal lag. I'd like to confirm my initial investigations in the flutter.io docs:

In the Gestures documentation we have low level Pointer Down, Move and Up Events. Though we have higher level events (Tap, Double Tap, Long Tap, Horizontal and Vertical Drag), I feel for a painting app that the raw Pointer events are the level of granularity that we need.

In the Widgets, we have a CustomPaint widget that should allow us to paint the lines recorded from the Pointer events.

Is this the best path forward for creating a Flutter Draw Something style game?

On Tue, 15 Aug 2017 at 05:53 'Eric Seidel' via Flutter Dev <flutt...@googlegroups.com> wrote:
On Mon, Aug 14, 2017 at 8:53 AM Ian Hickson <i...@hixie.ch> wrote:
Flutter seems like a fine way to implement such a game.

We don't have a simple API to convert a drawing into a PNG yet, but if exporting an SVG is acceptable you could easily convert drawing paths into <path> objects in SVG. If you need a bitmap exported then you'll need to find a way to convert the paths to a bitmap. There might be Dart packages that can do that, I haven't checked.
On Mon, Aug 14, 2017 at 2:26 AM Tom Arnold <t0m4...@gmail.com> wrote:
Hello list,

I searched the web and this list, but I couldn't find an answer.. so:

Is Flutter a good choice for a painting/drawing game like Draw Something? 
I want have people paint with their fingers on a canvas without any lag and I want to be able to save the result.
Is that a use case that is easily implementable with Flutter in its current state? Or should I look elsewhere (Java, Unity, Xamarin etc).

Thanks a bunch,

- Tom -

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

--
Ian Hickson

😸

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

--
Ian Hickson

😸

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev+unsubscribe@googlegroups.com.

Tom Arnold

unread,
Aug 15, 2017, 2:28:59 AM8/15/17
to Flutter Dev
Hello guys,

thanks a lot for the really helpful answers(even from well known Googlers). Really motivating! That SVG hint from Ian sounds promising, I guess I would have cooked up something myself to "play back" the drawing on another device, but SVG can do Animation, right? So that work might already be done for me. Awesome! I will try to free up a few hours on the weekend to work on that demo. And if I get something working I might sign up for Medium (I better don't promise too much ;-)
Greetings from Münster
Cheers

curro...@gmail.com

unread,
Sep 11, 2018, 1:22:46 AM9/11/18
to Flutter Dev
Hi, I know this is an old message but I did a drawing app in flutter to test de taps and pans. At the end it store the image in an object. This is the code, I'll hope will be useful for someone:


bye
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

--
Ian Hickson

😸

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

--
Ian Hickson

😸

--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages