How can I make my 2d character and background non transparent
Every Grease pencil material can have a line, or a fill, or both.
Your materials look like they are only lines.
The usual workflow is to draw the lines, then use the fill tool to automatically add a new stroke with a fill-only material.
If the lines aren't closed, you can use the Alt key to temporarily switch the fill tool to a stroke, which lets you close the gaps (make sure that fill and stroke of your fill material share the same colour).
In my example in the right third I've scaled lines only, to underline the fact that lines and fills are two different strokes (but fill strokes are a single click of fill tool, or a little more).