user: Show practical ways to work with CameraBackgroundImage(bpy_struct) in a Blender add-on or script – include code.

assistant: # CameraBackgroundImage(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.CameraBackgroundImage(*bpy_struct*)
:   Image and settings for display in the 3D View background

    alpha
    :   Image opacity to blend the image against the background color

        Type:
        :   float in [0, 1], default 0.0

    clip
    :   Movie clip displayed and edited in this space

        Type:
        :   [`MovieClip`](bpy.types.MovieClip.html#bpy.types.MovieClip "bpy.types.MovieClip")

    clip_user
    :   Parameters defining which frame of the movie clip is displayed

        Type:
        :   [`MovieClipUser`](bpy.types.MovieClipUser.html#bpy.types.MovieClipUser "bpy.types.MovieClipUser"), (readonly, never None)

    display_depth
    :   Display under or over everything

        Type:
        :   enum in [`'BACK'`, `'FRONT'`], default `'BACK'`

    frame_method
    :   How the image fits in the camera frame

        Type:
        :   enum in [`'STRETCH'`, `'FIT'`, `'CROP'`], default `'FIT'`

    image
    :   Image displayed and edited in this space

        Type:
        :   [`Image`](bpy.types.Image.html#bpy.types.Image "bpy.types.Image")

    image_user
    :   Parameters defining which layer, pass and frame of the image is displayed

        Type:
        :   [`ImageUser`](bpy.types.ImageUser.html#bpy.types.ImageUser "bpy.types.ImageUser"), (readonly, never None)

    is_override_data
    :   In a local override camera, whether this background image comes from the linked reference camera, or is local to the override

        Type:
        :   boolean, default False, (readonly)

    offset
    :   Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (0.0, 0.0)

    rotation
    :   Rotation for the background image (ortho view only)

        Type:
        :   float in [-inf, inf], default 0.0

    scale
    :   Scale the background image

        Type:
        :   float in [0, inf], default 0.0

    show_background_image
    :   Show this image as background

        Type:
        :   boolean, default False

    show_expanded
    :   Show the details in the user interface

        Type:
        :   boolean, default False

    show_on_foreground
    :   Show this image in front of objects in viewport

        Type:
        :   boolean, default False

    source
    :   Data source used for background

        Type:
        :   enum in [`'IMAGE'`, `'MOVIE_CLIP'`], default `'IMAGE'`

    use_camera_clip
    :   Use movie clip from active scene camera

        Type:
        :   boolean, default False

    use_flip_x
    :   Flip the background image horizontally

        Type:
        :   boolean, default False

    use_flip_y
    :   Flip the background image vertically

        Type:
        :   boolean, default False

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type