Two Images and an API: Everything We Need for Recoloring Products

This article details a clever method for dynamically changing the color of product images, showcasing different color options without complex SVG or CSS. The technique uses a base image and a "paint" layer, combined with the imgix API for image transformation. This approach is particularly useful for displaying numerous product variations efficiently.
The author, an engineer at CarTrawler, implemented this solution to revamp their car image library. The need to display up to 200 car images simultaneously highlighted the importance of speed and performance, while working across multiple codebases emphasized the need for a simple, scalable solution.
The Process:
-
Base Layer: A high-quality image of the product in a neutral color serves as the foundation. This image should stand alone visually.
-
Paint Layer: A second image, identical in dimensions to the base layer, is created. This layer contains only the areas where color should change dynamically, using a light color (white or light gray) to ensure effective blending with other colors.
-
imgix API: The imgix API is utilized to combine and manipulate the images. Key parameters include:
-
w: Image width (must be consistent for both layers). -
bri: Brightness adjustment. -
con: Contrast adjustment. -
monochrome: This parameter allows dynamic hex color application. The paint layer's URL is URL-encoded for use within the imgix parameters.
-
-
Layer Stacking: The imgix
watermarkparameter overlays the encoded paint layer onto the base layer.mark-alignensures proper centering.
The resulting single imgix URL dynamically displays the product in the specified color by simply changing the monochrome hex value. Examples show the same car rendered in black, blue, green, and red, all from a single, adaptable URL.
This method avoids extensive coding, complex libraries, or front-end modifications, offering a streamlined and efficient solution for dynamically displaying various product color options.
The above is the detailed content of Two Images and an API: Everything We Need for Recoloring Products. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undresser.AI Undress
AI-powered app for creating realistic nude photos
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undress AI Tool
Undress images for free
Clothoff.io
AI clothes remover
AI Hentai Generator
Generate AI Hentai for free.
Hot Article
Hot Tools
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
1384
52
Working With GraphQL Caching
Mar 19, 2025 am 09:36 AM
If you’ve recently started working with GraphQL, or reviewed its pros and cons, you’ve no doubt heard things like “GraphQL doesn’t support caching” or
Building an Ethereum app using Redwood.js and Fauna
Mar 28, 2025 am 09:18 AM
With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum
Vue 3
Apr 02, 2025 pm 06:32 PM
It's out! Congrats to the Vue team for getting it done, I know it was a massive effort and a long time coming. All new docs, as well.
Creating Your Own Bragdoc With Eleventy
Mar 18, 2025 am 11:23 AM
No matter what stage you’re at as a developer, the tasks we complete—whether big or small—make a huge impact in our personal and professional growth.
Can you get valid CSS property values from the browser?
Apr 02, 2025 pm 06:17 PM
I had someone write in with this very legit question. Lea just blogged about how you can get valid CSS properties themselves from the browser. That's like this.
A bit on ci/cd
Apr 02, 2025 pm 06:21 PM
I'd say "website" fits better than "mobile app" but I like this framing from Max Lynch:
Comparing Browsers for Responsive Design
Apr 02, 2025 pm 06:25 PM
There are a number of these desktop apps where the goal is showing your site at different dimensions all at the same time. So you can, for example, be writing
Stacked Cards with Sticky Positioning and a Dash of Sass
Apr 03, 2025 am 10:30 AM
The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.


