BrushCue Example: Image to Square with Blur¶

Open In Colab

You can use this tool online at https://www.brushcue.com/tools/image-to-square-with-blur

In [ ]:
!pip install brushcue
In [1]:
import brushcue
from PIL import Image
import io

input_image_1 = brushcue.composition_monet_women_with_parasol() # insert your own image here
transform_2d_identity_2 = brushcue.transform2_identity()
composition_size_3 = brushcue.composition_size(input_image_1)
composition_size_4 = brushcue.composition_size(input_image_1)
composition_size_5 = brushcue.composition_size(input_image_1)
composition_size_6 = brushcue.composition_size(input_image_1)
composition_size_7 = brushcue.composition_size(input_image_1)
composition_size_8 = brushcue.composition_size(input_image_1)
composition_size_9 = brushcue.composition_size(input_image_1)
composition_size_10 = brushcue.composition_size(input_image_1)
composition_size_11 = brushcue.composition_size(input_image_1)
composition_size_12 = brushcue.composition_size(input_image_1)
composition_size_13 = brushcue.composition_size(input_image_1)
composition_size_14 = brushcue.composition_size(input_image_1)
composition_size_15 = brushcue.composition_size(input_image_1)
composition_size_16 = brushcue.composition_size(input_image_1)
composition_size_17 = brushcue.composition_size(input_image_1)
composition_size_18 = brushcue.composition_size(input_image_1)
composition_size_19 = brushcue.composition_size(input_image_1)
composition_size_20 = brushcue.composition_size(input_image_1)
vector_2_int_get_x_21 = brushcue.vector2i_x(composition_size_3)
vector_2_int_get_y_22 = brushcue.vector2i_y(composition_size_4)
vector_2_int_get_x_23 = brushcue.vector2i_x(composition_size_5)
vector_2_int_get_y_24 = brushcue.vector2i_y(composition_size_6)
vector_2_int_get_x_25 = brushcue.vector2i_x(composition_size_7)
vector_2_int_get_y_26 = brushcue.vector2i_y(composition_size_8)
vector_2_int_get_x_27 = brushcue.vector2i_x(composition_size_9)
vector_2_int_get_y_28 = brushcue.vector2i_y(composition_size_10)
vector_2_int_get_x_29 = brushcue.vector2i_x(composition_size_11)
vector_2_int_get_y_30 = brushcue.vector2i_y(composition_size_12)
vector_2_int_get_x_31 = brushcue.vector2i_x(composition_size_13)
vector_2_int_get_y_32 = brushcue.vector2i_y(composition_size_14)
vector_2_int_get_x_33 = brushcue.vector2i_x(composition_size_15)
vector_2_int_get_y_34 = brushcue.vector2i_y(composition_size_16)
vector_2_int_get_x_35 = brushcue.vector2i_x(composition_size_17)
vector_2_int_get_y_36 = brushcue.vector2i_y(composition_size_18)
vector_2_int_get_x_37 = brushcue.vector2i_x(composition_size_19)
vector_2_int_get_y_38 = brushcue.vector2i_y(composition_size_20)
int_max_39 = brushcue.int_max(vector_2_int_get_x_21, vector_2_int_get_y_22)
int_to_float_40 = brushcue.int_to_float(vector_2_int_get_x_23)
int_to_float_41 = brushcue.int_to_float(vector_2_int_get_y_24)
int_to_float_42 = brushcue.int_to_float(vector_2_int_get_x_25)
int_to_float_43 = brushcue.int_to_float(vector_2_int_get_y_26)
int_to_float_44 = brushcue.int_to_float(vector_2_int_get_x_27)
int_to_float_45 = brushcue.int_to_float(vector_2_int_get_y_28)
int_to_float_46 = brushcue.int_to_float(vector_2_int_get_x_29)
int_to_float_47 = brushcue.int_to_float(vector_2_int_get_y_30)
int_to_float_48 = brushcue.int_to_float(vector_2_int_get_x_31)
int_to_float_49 = brushcue.int_to_float(vector_2_int_get_y_32)
int_to_float_50 = brushcue.int_to_float(vector_2_int_get_x_33)
int_to_float_51 = brushcue.int_to_float(vector_2_int_get_y_34)
int_to_float_52 = brushcue.int_to_float(vector_2_int_get_x_35)
int_to_float_53 = brushcue.int_to_float(vector_2_int_get_y_36)
int_to_float_54 = brushcue.int_to_float(vector_2_int_get_x_37)
int_to_float_55 = brushcue.int_to_float(vector_2_int_get_y_38)
dimension_56 = brushcue.int_passthrough(int_max_39)
float_max_57 = brushcue.float_max(int_to_float_42, int_to_float_43)
float_max_58 = brushcue.float_max(int_to_float_48, int_to_float_49)
float_max_59 = brushcue.float_max(int_to_float_50, int_to_float_51)
int_to_float_60 = brushcue.int_to_float(dimension_56)
int_to_float_61 = brushcue.int_to_float(dimension_56)
float_divide_62 = brushcue.float_divide(float_max_57, 100.0)
float_subtract_63 = brushcue.float_subtract(float_max_58, int_to_float_40)
float_subtract_64 = brushcue.float_subtract(float_max_59, int_to_float_41)
float_divide_65 = brushcue.float_divide(int_to_float_60, int_to_float_54)
float_divide_66 = brushcue.float_divide(int_to_float_61, int_to_float_55)
blur_background_67 = brushcue.composition_gaussian_blur(input_image_1, float_divide_62)
float_divide_68 = brushcue.float_divide(float_subtract_63, 2.0)
float_divide_69 = brushcue.float_divide(float_subtract_64, 2.0)
scale_x_percentage_70 = brushcue.float_passthrough(float_divide_65)
scale_y_percentage_71 = brushcue.float_passthrough(float_divide_66)
vector_2_float_from_components_72 = brushcue.vector2f_from_components(float_divide_68, float_divide_69)
float_max_73 = brushcue.float_max(scale_x_percentage_70, scale_y_percentage_71)
float_max_74 = brushcue.float_max(scale_y_percentage_71, scale_x_percentage_70)
float_multiply_75 = brushcue.float_multiply(int_to_float_52, scale_y_percentage_71)
float_multiply_76 = brushcue.float_multiply(int_to_float_53, scale_x_percentage_70)
transform_2d_translation_77 = brushcue.transform2_translation(transform_2d_identity_2, vector_2_float_from_components_72)
float_multiply_78 = brushcue.float_multiply(int_to_float_44, float_max_73)
float_multiply_79 = brushcue.float_multiply(int_to_float_45, float_max_74)
float_subtract_80 = brushcue.float_subtract(float_multiply_75, int_to_float_46)
float_subtract_81 = brushcue.float_subtract(float_multiply_76, int_to_float_47)
float_round_to_int_82 = brushcue.float_round_to_int(float_multiply_78)
float_round_to_int_83 = brushcue.float_round_to_int(float_multiply_79)
float_divide_84 = brushcue.float_divide(float_subtract_80, 2.0)
float_divide_85 = brushcue.float_divide(float_subtract_81, 2.0)
vector_2_int_from_components_86 = brushcue.vector2i_from_components(float_round_to_int_82, float_round_to_int_83)
float_round_to_int_87 = brushcue.float_round_to_int(float_divide_84)
float_round_to_int_88 = brushcue.float_round_to_int(float_divide_85)
scale_to_aspect_fit_89 = brushcue.composition_bilinear_interpolation(blur_background_67, vector_2_int_from_components_86)
bounds_2d_int_from_x_y_width_height_90 = brushcue.bounds2i_from_x_y_width_height(float_round_to_int_87, float_round_to_int_88, dimension_56, dimension_56)
crop_91 = brushcue.composition_crop(scale_to_aspect_fit_89, bounds_2d_int_from_x_y_width_height_90)
blend_to_square_92 = brushcue.composition_blend_alpha(input_image_1, crop_91, transform_2d_translation_77)

ctx = brushcue.Context()
result = blend_to_square_92.execute(ctx)
composition = result.as_composition()
data_bytes = composition.to_image_bytes(ctx)
img = Image.open(io.BytesIO(data_bytes))
img.thumbnail((400, 400)) # remove this line for full resolution
img
Out[1]:
No description has been provided for this image