Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add a neon glow effect to an widget border / shadow?

Is there any way to create effects like these using flutter (a CustomPaint with a special shadder or something like this)?

enter image description here

enter image description here

For example. I have this container and I drew some lines on it using a CustomPainter. Could I draw these lines using a neon effect just like the pictures? The Paint class has a shader property that I thought I could set up to achieve this goal, but I don't realize how.

Container(
          color: Colors.white,
          width: 300,
          height: 300,
          child: CustomPaint(
            painter: NeonPainter(),

          ),


        ),



class NeonPainter extends CustomPainter {
  Paint neonPaint = Paint();


  NeonPainter() {
    neonPaint.color = const Color(0xFF3F5BFA);
    neonPaint.strokeWidth = 2.5;
    neonPaint.shader = /// how to create a shader or something for that?
    neonPaint.someOtherProperty///

  }

  @override
  void paint(Canvas canvas, Size size) {
    drawLine(canvas, size.width / 2 - 50, size.height / 2, size.width / 2 + 50,
        size.height / 2);
    drawLine(canvas, size.width / 2 + 50, size.height / 2, size.width / 2 + 100,
        size.height / 2 + 50);
    drawLine(canvas, size.width / 2 + 100, size.height / 2 + 50,
        size.width / 2 - 100, size.height / 2 + 50);
    drawLine(
        canvas, size.width / 2 - 100, size.height / 2 + 50, size.width / 2 - 50,
        size.height / 2);
  }

  void drawLine(canvas, double x1, double y1, double x2, double y2) {
    canvas.drawLine(Offset(x1, y1), Offset(x2, y2), neonPaint);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }
}
like image 979
alexpfx Avatar asked Jun 03 '19 03:06

alexpfx


People also ask

How do you make a neon glow in Photoshop?

Use Adobe Photoshop to create a neon effect. Step 1: Draw a shape Using the Pen tool, Larson clicked three points to draw a triangle around the hand. You can draw... Step 2: Create the glow Experiment with different colors and settings for the Outer Glow. Larson settled on a vivid... Step 3: Convert ...

How can I make a shadow effect on a picture?

You can use BoxShadow widget.. You can set color, blurRadius, SpreadRadius and offset to achieve what you want.. Note in example I have used it to get a drop shadow.. But you can get a glow if you set the properties correctly..

How do I create a glowing effect on a photo?

To add to the glowing effect, let’s create two layers. One with a broad and subtle glow, and another with a small and concentrated effect behind the text, to give it a realistic effect. First, let’s create the larger, subtle glow. Using the Ellipse Tool, create an ellipse that spans all of the text and most of the background.

Where can I find the neon glow effect?

The neon glow effect can be found around the web in lots of different forms. Some focus on the glowing, neon aspect, while others focus on the “reality” of a virtual neon sign. Here’s an example of the realistic approach: This was one of the designs created for Flywheel’s annual “Black Flyday” sale in 2018.


2 Answers

use boxShadow property twice inside Container widget decoration. for outer glow use spreadRadius positive value and for inner glow use negetive value. sample code is given below..

Container(
    decoration: BoxDecoration(
        borderRadius: BorderRadius.all(
          Radius.circular(18.0),
        ),
        color: Colors.white,
        boxShadow: [
          BoxShadow(
            color: Colors.pink,
            spreadRadius: 4,
            blurRadius: 10,
          ),
           BoxShadow(
            color: Colors.pink,
            spreadRadius: -4,
            blurRadius: 5,
          )
        ]),
    child: FlatButton(
      onPressed:(){},
      child: Text("submit"),
      
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(18.0),
      ),
    ),
  ),
like image 160
JahidRatul Avatar answered Oct 17 '22 22:10

JahidRatul


You can use BoxShadow widget.. You can set color, blurRadius, SpreadRadius and offset to achieve what you want..

Note in example I have used it to get a drop shadow.. But you can get a glow if you set the properties correctly..

 Container(
            decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(50),
                boxShadow: [
                  BoxShadow(
                    color: Color(0xFF000000).withAlpha(60),
                    blurRadius: 6.0,
                    spreadRadius: 0.0,
                    offset: Offset(
                      0.0,
                      3.0,
                    ),
                  ),
                ]),
like image 16
Praneeth Dhanushka Fernando Avatar answered Oct 17 '22 23:10

Praneeth Dhanushka Fernando