Changing colour of imported SVG icon in QGIS 3.4

You can simply do it directly in QGIS (works both 2.18 and 3.0.3)

Layer Properties > Draw Effects > Effect Properties

Open your SVG "Layer Properties" and click "Draw Effects" and then open the Star symbol "Customize effects" Customize_effects.

SVG_Layer_Properties

Then use "Colorise" as an "Effect type"

Effect_properties

References:

  • Documentation QGIS Testing | Draw effects
  • Introducing QGIS live layer effects

You need to edit the SVG file and replace the

fill="#000000" stroke="none"

by something like

fill="param(fill) #FFF" stroke="param(outline) #000" stroke-width="param(outline-width) 1"

the "param(xxx)" part allow you to set the xxx parameter from the qgis interface, the #XXX part is the default color.

For a more detailled explanation see this answer How to create svg symbols that have modifiable fill color, stroke color and stroke width?