Cartographer Magic: Power Automate Bitmaps Revealed
Tags: powerfuldevs, powerautomate, tutorial
Published: 2024-02-26 07:05:03

**<u>Intro</u>**:
How cool will it be to encode a user message as a bitmap? The concept involving a multiline string that transforms into a 2D image, creating a quirky bitmap. A world map where space characters act as empty spaces, and every other character becomes a canvas for your personalized message. The magic is using power automate.

**<u>Logic</u>**:

1) _Determine the length of the input string_:
In this step, the algorithm calculates the length of the input string, providing the necessary information for subsequent operations.

2) <u>Create a variable that would be your bitmap template</u>:
A template is established, presumably in the form of a string, that serves as the foundation for building the final bitmap. This template likely contains a placeholder character, such as '*,' which will be replaced with the actual user input.
Create a variable with only character '*' and length of 20:

```

   **************   *  *** **  *      ******************************
  ********************* ** ** *  * ****************************** *
 **      *****************       ******************************
          *************          **  * **** ** ************** *
           *********            *******   **************** * *
            ********           ***************************  *
   *        * **** ***         *************** ******  ** *
               ****  *         ***************   *** ***  *
                 ******         *************    **   **  *
                 ********        *************    *  ** ***
                   ********         ********          * *** ****
                   *********         ******  *        **** ** * **
                   *********         ****** * *           *** *   *
                     ******          ***** **             *****   *
                     *****            **** *            ********
                    *****             ****              *********
                    ****              **                 *******   *
                    ***                                       *    *
                    **     *                    *

```
3. A variable is created with a sequence of 20 asterisk ('*') characters. This variable acts as a reference or placeholder for the initial replacement in the bitmap template. 

4. The algorithm replaces all occurrences of the substring generated in step 3 within the bitmap template with the actual user input text. This ensures that the portion of the template matching the length of the user input is now filled with the content of the input.
Replace the '*' characters one by one with the user input text:

```
replace(outputs('BitmapTemplate'),outputs('replace'),triggerBody()['text'])
```


In this final step, the remaining '*' characters in the bitmap template (those less than the length of the user input) are replaced one by one with the respective characters from the user input. This process completes the construction of the bitmap template, incorporating the user's message.


```
substring(outputs('Star'),0,sub(length(outputs('UsrInpt')),iterationIndexes('do_until')))
```

```
replace(variables('Intoutput'),outputs('outputrefine'),substring(triggerBody()['text'],0,sub(length(triggerBody()['text']),iterationIndexes('do_until'))))
```


**<u>Demo</u>**:

![Devtp](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExeDZmenVmOGVzd2huNXNmOHF0Y3ZycjY3dTYzZWRpZ2NwajR5Y2NxdiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/vQ3VmBIY0RUbZ9mtrV/giphy.gif)

**Output**:

```

   DevToDevToDevT   D  Dev De  D      DevToDevToDevToDevToDevToDevTo
  DevToDevToDevToDevToD De De D  D DevToDevToDevToDevToDevToDevTo D
 De      DevToDevToDevToDe       DevToDevToDevToDevToDevToDevTo
          DevToDevToDev          De  D DevT De DevToDevToDevT D
           DevToDevT            DevToDe   DevToDevToDevToD D D
            DevToDev           DevToDevToDevToDevToDevToDe  D
   D        D DevT Dev         DevToDevToDevTo DevToD  De D
               DevT  D         DevToDevToDevTo   Dev Dev  D
                 DevToD         DevToDevToDev    De   De  D
                 DevToDev        DevToDevToDev    D  De Dev
                   DevToDev         DevToDev          D Dev DevT
                   DevToDevT         DevToD  D        DevT De D De
                   DevToDevT         DevToD D D           Dev D   D
                     DevToD          DevTo De             DevTo   D
                     DevTo            DevT D            DevToDev
                    DevTo             DevT              DevToDevT
                    DevT              De                 DevToDe   D
                    Dev                                       D    D
                    De     D                    D

```


I hope you enjoyed this tutorial on how to create a bitmap with Power Automate. Hope to share few more tips in the future