Change position of background image

You can change the position or align of the Decoration image manually by using Alignment() attribute. Alignment(0.0, 0.0) represents the center of the Container. The distance from on side of container to other side of container is  -1.0 to +1.0.

Alignment(-1.0, -1.0) is used for the top left of the container.

Alignment(1.0, 1.0) is used for bottom right of the rectangle.

Alignment(0.0, 3.0) is used for a point that is horizontally centered with respect to the rectangle and vertically below the bottom of the rectangle by the height of the rectangle.

 

Container(
                padding: EdgeInsets.all(18),
                decoration: BoxDecoration(
                image: DecorationImage(
                    image: AssetImage('assets/images/books.png'),
                    alignment: Alignment(-1, -0.5),  
                   // This align it Center Left + a little bit up
                  ),
                 ),

For More Information you can refer official docs https://api.flutter.dev/flutter/painting/Alignment-class.html

 

Rotation of background image

You can rotate a Decoration image manually by using Transform.translate() attribute. Offset(0.0, 0.0) represents the straight image in Container.

Transform.translate(
            offset: Offset(-100.0, 200.0),
            child: Transform.rotate(
              angle: pi / 4,
              child: Container(
                decoration: BoxDecoration(
                    image: DecorationImage(
                  colorFilter: ColorFilter.mode(
                      Colors.white.withOpacity(0.5), BlendMode.dstATop),
                  image: AssetImage("assets/images/drink-water.png"),
                  fit: BoxFit.fitWidth,
                )),
              ),
            ),
          ),