Representing graphics by distributing 2D Objects over the image area

Hello everyone,

I just started using grasshopper and I am very curious about possibilities to use it for my academic projects.

As a design exercise I have to find the best way to represent a graphic by just using black rectangles in 3 different sizes (shown in the bottom left corner of the attached images). As an examble I took the world map (picture 1) and distributed the bars manually by cutting them out and placing them over the world map picutre.

But I would also like to find a way to use grasshopper for this sake since it has more precision, takes less time and I could also be able to feed it with different b/w images to get a result made with the same style but with different images.

So for the exercise there are following parameters:
-Bars should be placed within the black area of the image and fill it
-Bars should not overcross eachother
-Only 3 sizes of bars may be used
-Bars could be created using filled rectrangles in Rhino

From working with other software I know that there are scatters that do exactly the thing I wish to make. But I am curious to try it in grashopper in order to get to know the software a little better.

I already tried to dig inside the topic myself but couldn´t really find the right operators to achieve what I want. I know the workflow should be:

-Defining the black color of the image as a place to distribute the bars on (I know I can use “import image” for this one)
-Defining and scaling the 3 bar sizes to the right scale
-Defining that the bars should be seen as filled areas and should not overcross eachother
-Have a randomizer to get different results.

I don´t really know where to begin but maybe some of you have any tips how to go on.

Look forward for some helpful replies
Kind regards