Color raster images on metal

Hello! I’ve been working on printing color photos/raster images on titanium and steel using a 60w MOPA fiber laser with a F290 lens. First, some sample works on titanium (TC4/GR5 alloy) 10cm x 10cm plates. Illustrations:

It works great for pixel art, a screenshot from an NES game:

A b&w photo with a 4 color grayscale palette:

All of these took around fifty minutes to an hour and a half to engrave.

The process is not too complex, first quantize the colors of an image to a limited number or use a specific palette to remap the colors. Then dither/halftone it (this is optional, for example you don’t need to do that for pixel art), split the image into b&w images of each color and engrave all of them. For quantizing and dithering/halftoning you can use your favorite image editing software or some specific tool such as Ditherista.

I couldn’t find an easy way to split images so I wrote a Python script to do that, you can download it here. It requires 3.x Python, the PIL and webcolors Python modules to be installed. It is not hard to use and has some additional simple functionality besides the color splitting, such as upscaling, outputting the color palette and more for convenience. Here’s how you use it for an image named dith.png that you’d engrave using 635 DPI (0.04mm line width):

PS C:\colors> .\colors.py --dpi 635 --scale 2 dith.png
Image size is 1200x1200. Image mode is RGBA, number of colors is 8.
Image size after rescaling 2x is 2400x2400.
Processing #000000 (black) color.
Processing #4B52DD (royalblue) color.
Processing #D26F1D (chocolate) color.
Processing #DDCD3E (goldenrod) color.
Processing #87BAB2 (darkseagreen) color.
Processing #84227C (purple) color.
Processing #F2F2F2 (whitesmoke) color.
Processing #992736 (brown) color.
Physical print size for 635 DPI/PPI (line interval 0.04mm):
width: 96.00mm
height: 96.00mm

It will write separate images for each color into the same folder it is run from. Add them to a Lightburn project, set the correct physical size for each image as specified by the script, turn on pass-through mode for each of them and set the frequency/speed/power/pulse width parameters for each image for specific color.

I have to note it is not easy to find a decent color palette using just one line interval that looks good on pixel size scales, but it is possible. I’ve been working mostly with 0.04mm line interval (635 DPI), on titanium for 0.04mm low speeds (40mm/s - 200mm/s) and low power seems to work best. If you have worked with color engraving on steel or titanium you probably know you will need to do a lot of material tests to discover the colors. Calibrating the timing settings (TCON, TCOFF) helps a bit but is not essential, just stick to the same settings you do the material tests.

I’ve attached two projects if you want to see how the printable projects look like, though you will definitely need to modify the settings for each image to get similar colors, unless you have an identical setup.

cat_flower1_col9_0.04mm_v1.1.lbrn2 (1.2 MB)

gscreen2_darkwingduck_12col_0.04mm_v1.0.lbrn2 (248.9 KB)

11 Likes

Wow @nothing I have to try this. Love this work. Thank you for sharing it with the community.

1 Like

Those look amazing

1 Like

Thank you!

1 Like

This is the reward that you receive when love what you do!
Amazing!!!

1 Like

Yeah, it is rewarding to pour your energy towards creating beautiful stuff. Thank you Luis! :hugs:

4 Likes

This is really beatiful work and I’m even more impressed that you made your own tools. :slight_smile:

2 Likes