pub fn generate_image_with_rng<W, IR, R>(
    image: &DynamicImage,
    pattern_size: PatternSize,
    output_size: OutputSize,
    wrap: W,
    retry: IR,
    rng: &mut R
) -> IR::ImageReturnwhere
    W: Wrap,
    IR: ImageRetry,
    R: Rng,