Historical examples abound, from writing on a shaved head and letting the hair grow back to microdots, used by German spies, which merely had to be enlarged to reveal a message. But messages can also be sent through images, using ASCII (American Standard Code for Information Interchange) or color codes.
Suppose we want to transmit the word "Image" by sending an agreed sequence of colors encoded in RGB. Black is regarded as the absence of color. Its RGB code consists of the three bytes (0, 0, 0), or equivalently (00000000, 00000000, 00000000). In ASCII, which uses only seven bits (American English has no accents!), the uppercase "I" is assigned the value 73, or 1001001 in binary (using seven bits). The first six binary digits are split into three pairs: 10, 01, and 00. We then need only transmit a color indistinguishable from black, defined by the three bytes (00000010, 00000001, 00000000), to send the first six bits of the "I". We continue in this way, step by step, using an arbitrary, mutually agreed sequence of colors. Fun, isn't it?