# RGB

Published articles for RGB.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Making thumbnails fast

DevFeed: [Making thumbnails fast](<https://devfeed.tech/articles/making-thumbnails-fast-27392.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/making-thumbnails-fast.htm>)

Author: Khan Academy

Published: 2015-09-14T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Server](<https://devfeed.tech/topics/server.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [color](<https://devfeed.tech/tags/color.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [image](<https://devfeed.tech/tags/image.md>), [images](<https://devfeed.tech/tags/images.md>), [news](<https://devfeed.tech/tags/news.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [software](<https://devfeed.tech/tags/software.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Khan Academy explains how it generated custom video thumbnails by resizing, desaturating, lightening, color-tinting, and overlaying text and branding on source images. The post also explains pixel multiplication and why the team implemented the image operations themselves because its server infrastructure could not use available libraries.

### Source excerpt

Note: This post contains quite a bit of LaTeX notation, which is not supported right now on this ... Read more

## Arcturus Vision Camera Adds Color Passthrough & 3D Video Capture To Steam Frame

DevFeed: [Arcturus Vision Camera Adds Color Passthrough & 3D Video Capture To Steam Frame](<https://devfeed.tech/articles/arcturus-vision-camera-adds-color-passthrough-3d-video-capture-to-steam-frame-26798.md>)

Original publisher: [Read original article](<https://www.uploadvr.com/steam-frame-arcturus-vision-camera-color-passthrough/>)

Author: David Heaney

Published: 2026-09-15T06:59:00Z

Content type: news

Language: en

Sources: [UploadVR](<https://devfeed.tech/sources/uploadvr.md>)

Topics: [3D](<https://devfeed.tech/topics/3d.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [camera](<https://devfeed.tech/tags/camera.md>), [capture](<https://devfeed.tech/tags/capture.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [headsets-tech](<https://devfeed.tech/tags/headsets-tech.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [video](<https://devfeed.tech/tags/video.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

The $149 Arcturus Vision Camera adds color passthrough to Valve's Steam Frame headset through its PCI-E expansion port. It also captures tracked stereoscopic 3D video, with options for 6-megapixel-per-eye HDR recording at 60fps or lower-resolution recording at 120fps.

### Source excerpt

The $149 Arcturus Vision Camera, weighing just 10 grams, adds 6 megapixel per eye color passthrough to Steam Frame and captures tracked 3D HDR video.

## ESPHome 2025.9.0: MIPI RGB displays and a camera JPEG encoder

DevFeed: [ESPHome 2025.9.0: MIPI RGB displays and a camera JPEG encoder](<https://devfeed.tech/articles/esphome-2025-9-0-mipi-rgb-displays-and-a-camera-jpeg-encoder-16701.md>)

Original publisher: [Read original article](<https://esphome.io/blog/2025/09/17/esphome-2025-9/>)

Author: Jesse Hills

Published: 2025-09-17T00:00:00Z

Content type: release

Language: en

Sources: [ESPHome - Smart Home Made Simple - Blog](<https://devfeed.tech/sources/esphome-smart-home-made-simple-blog.md>)

Topics: [esphome](<https://devfeed.tech/topics/esphome.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [dev-tools](<https://devfeed.tech/topics/dev-tools.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [camera](<https://devfeed.tech/tags/camera.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compression](<https://devfeed.tech/tags/compression.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [dfu](<https://devfeed.tech/tags/dfu.md>), [display](<https://devfeed.tech/tags/display.md>), [firmware-update](<https://devfeed.tech/tags/firmware-update.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [jpeg](<https://devfeed.tech/tags/jpeg.md>), [memory](<https://devfeed.tech/tags/memory.md>), [mipi](<https://devfeed.tech/tags/mipi.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rgb](<https://devfeed.tech/tags/rgb.md>)

### AI overview

ESPHome 2025.9.0 adds MIPI RGB display support, a camera JPEG encoder, nRF52 DFU support, ESPHome Builder improvements, memory optimizations, and enhanced sensor and component support.

### Source excerpt

ESPHome 2025.9.0 adds MIPI RGB display support, a camera JPEG encoder, DFU support for nRF52, and ESPHome Builder improvements, along with extensive memory optimizations.

## Espressif SoCs and LCD screens: trends and solutions

DevFeed: [Espressif SoCs and LCD screens: trends and solutions](<https://devfeed.tech/articles/espressif-socs-and-lcd-screens-trends-and-solutions-13870.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/espressif-socs-lcd-screens/>)

Author: John Lee

Published: 2024-09-30T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Espressif](<https://devfeed.tech/topics/espressif.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [human computer interaction](<https://devfeed.tech/topics/human-computer-interaction.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Esp Rainmaker](<https://devfeed.tech/topics/esp-rainmaker.md>), [Matter](<https://devfeed.tech/topics/matter.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [connectivity](<https://devfeed.tech/tags/connectivity.md>), [display](<https://devfeed.tech/tags/display.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp-rainmaker](<https://devfeed.tech/tags/esp-rainmaker.md>), [esp32-p4](<https://devfeed.tech/tags/esp32-p4.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [interface](<https://devfeed.tech/tags/interface.md>), [iot](<https://devfeed.tech/tags/iot.md>), [lcd](<https://devfeed.tech/tags/lcd.md>), [mipi](<https://devfeed.tech/tags/mipi.md>), [re](<https://devfeed.tech/tags/re.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [rgb](<https://devfeed.tech/tags/rgb.md>)

### AI overview

This article examines Espressif SoCs that support different LCD driver interfaces for smart home, smart security, industrial, and other applications. It discusses requirements such as performance, low power consumption, compact design, user interaction, and wireless connectivity, along with Espressif development resources and the ESP-RainMaker platform.

### Source excerpt

In today's rapidly evolving IoT landscape, LCD screens have become indispensable components of smart devices, providing real-time information and facilitating user interaction. As the demand for higher performance, lower power consumption, and more compact designs grows, it is crucial to choose the right technology to drive LCD screens. This article explores a number of Espressif SoCs that support different LCD driver interfaces, suitable for smart home, smart security, and other applications.

## MELON: Reconstructing 3D objects from images with unknown poses

DevFeed: [MELON: Reconstructing 3D objects from images with unknown poses](<https://devfeed.tech/articles/melon-reconstructing-3d-objects-from-images-with-unknown-poses-28561.md>)

Original publisher: [Read original article](<http://blog.research.google/2024/03/melon-reconstructing-3d-objects-from.html>)

Author: Google AI (noreply@blogger.com)

Published: 2024-03-18T18:41:00Z

Content type: article

Language: en

Sources: [Google Research](<https://devfeed.tech/sources/google-research.md>)

Topics: [3D](<https://devfeed.tech/topics/3d.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [gans](<https://devfeed.tech/tags/gans.md>), [gaussian-splatting](<https://devfeed.tech/tags/gaussian-splatting.md>), [generative](<https://devfeed.tech/tags/generative.md>), [google](<https://devfeed.tech/tags/google.md>), [images](<https://devfeed.tech/tags/images.md>), [inference](<https://devfeed.tech/tags/inference.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [models](<https://devfeed.tech/tags/models.md>), [neural](<https://devfeed.tech/tags/neural.md>), [research](<https://devfeed.tech/tags/research.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

This Google Research article explains the challenge of reconstructing 3D objects from a small number of images when the camera poses are unknown. It covers pose inference, pseudo-symmetries, local-minimum failures, and prior approaches including NeRF, 3D Gaussian Splatting, GAN-based methods, BARF, SAMURAI, GNeRF, VMRF, SparsePose, and RUST.

### Source excerpt

Posted by Mark Matthews, Senior Software Engineer, and Dmitry Lagun, Research Scientist, Google Research A person's prior experience and understanding of the world generally enables them to easily infer what an object looks like in whole, even if only looking at a few 2D pictures of it. Yet the capacity for a computer to reconstruct the shape of an object in 3D given only a few images has remained a difficult algorithmic problem for years. This fundamental computer vision task has applications ranging from the creation of e-commerce 3D models to autonomous vehicle navigation. A key part of the problem is how to determine the exact positions from which images were taken, known as pose inference. If camera poses are known, a range of successful techniques -- such as neural radiance fields (NeRF) or 3D Gaussian Splatting -- can reconstruct an object in 3D. But if these poses are not available, then we face a difficult "chicken and egg" problem where we could determine the poses if we knew the 3D object, but we can't reconstruct the 3D object until we know the camera poses. The problem is made harder by pseudo-symmetries -- i.e., many objects look similar when viewed from different angles. For example, square objects like a chair tend to look similar every 90° rotation. Pseudo-symmetries of an object can be revealed by rendering it on a turntable from various angles and plotting its photometric self-similarity map. Self-Similarity map of a toy truck model. Left: The model is rendered on a turntable from various azimuthal angles, θ. Right: The average L2 RGB similarity of a rendering from θ with that of θ*. The pseudo-similarities are indicated by the dashed red lines. The diagram above only visualizes one dimension of rotation. It becomes even more complex (and difficult to visualize) when introducing more degrees of freedom. Pseudo-symmetries make the problem ill-posed, with naïve approaches often converging to local minima. In practice, such an approach might mistake the

## Why does the chromaticity diagram look like that?

DevFeed: [Why does the chromaticity diagram look like that?](<https://devfeed.tech/articles/why-does-the-chromaticity-diagram-look-like-that-28097.md>)

Original publisher: [Read original article](<https://jlongster.com/why-chromaticity-shape>)

Author: James Long

Published: 2024-01-08T12:00:00Z

Content type: article

Language: en

Sources: [James Long](<https://devfeed.tech/sources/james-long.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [pixel](<https://devfeed.tech/topics/pixel.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [color](<https://devfeed.tech/tags/color.md>), [image](<https://devfeed.tech/tags/image.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains why the CIE 1931 chromaticity diagram has its characteristic shape and how its colors are computed. It introduces color-matching functions for red, green, and blue, then describes calculating color mixtures and rendering sampled points into a two-dimensional image.

### Source excerpt

(note: skipping interactive content block) ^30b920 I've always wanted to understand color theory, so I started reading about the XYZ color space which looked like it was the mother of all color spaces. I had no idea what that meant, but it was created in 1931 so studying 93-year old research seemed like a good place to start. When reading about the XYZ color space, this cursed image keeps popping up: By BenRG - Own work based on: CIExy1931.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=7889658 I say "cursed" because I have no idea what that means. What the heck is that shape?? I couldn't find any reasonably clear answer to my question. It's obviously not a formula like x = func(y). Why is it that shape, and where did the colors come from? Obviously the edges are wavelengths which have a specific color, but how did the image above compute every pixel? I became obsessed with this question. Below is the path I took to try to answer it. I'll spoil the answer but it might not make sense until you read this article: the shape comes from how our eyes perceive red, green, and blue relative to each other. Skip to the last section if you want to see some direct examples. The fill colors inside the shape are another story, but a simple explanation is there is some math to calculate the mixture of colors and we can draw the above by sampling millions of points in the space and rendering them onto the 2d image. Let's dig in more. (note: skipping interactive content block) ^f0af28 (note: skipping interactive content block) ^82e29b Color matching functions The first place to start is color matching functions. These functions determine the strength of specific wavelengths (color) to contribute so that our eyes perceive a target wavelength (color). We have 3 color matching functions for red, green, and blue (at wavelengths 700, 546, and 435 respectively), and these functions specify how to mix RGB to so that we visually see a spectral color. More simply put: ima

## Making a 45Drives Storinator Server Quieter with RGB Fans and ZigBee Control

DevFeed: [Making a 45Drives Storinator Server Quieter with RGB Fans and ZigBee Control](<https://devfeed.tech/articles/i-put-rgb-fans-in-my-server-and-i-am-not-apologizing-10658.md>)

Original publisher: [Read original article](<https://technotim.com/posts/rgb-storinator/>)

Author: Techno Tim

Published: 2022-10-22T14:00:00Z

Content type: tutorial

Language: en

Sources: [Techno Tim](<https://devfeed.tech/sources/techno-tim.md>)

Topics: [Server](<https://devfeed.tech/topics/server.md>), [zigbee](<https://devfeed.tech/topics/zigbee.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [45drives](<https://devfeed.tech/tags/45drives.md>), [homelab](<https://devfeed.tech/tags/homelab.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [server](<https://devfeed.tech/tags/server.md>), [zigbee](<https://devfeed.tech/tags/zigbee.md>)

### AI overview

The video shows a fan replacement intended to reduce the noise of a 45Drives Storinator server in a home basement. It also adds RGB fans and a ZigBee controller for home-automation control.

### Source excerpt

My Storinator server from 45Drives is great, except for 1 thing.It's a little loud for my home.It would be fine if it were in a data center or a real network closet, however this is in my basement.I decided to swap out all the fans to make it quieter, and install RGB fans along with a ZigBee controller so I can control them with Home Automation! 📺 Watch Video HUGE THANK YOU to Micro Center ...

## Basics of Memory Access in WebAssembly

DevFeed: [Basics of Memory Access in WebAssembly](<https://devfeed.tech/articles/basics-of-memory-access-in-webassembly-27442.md>)

Original publisher: [Read original article](<https://ariya.io/2019/05/basics-of-memory-access-in-webassembly/>)

Published: 2019-05-13T06:20:17Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Image processing](<https://devfeed.tech/topics/image-processing.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [image-processing](<https://devfeed.tech/tags/image-processing.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

This tutorial explains WebAssembly's memory model and demonstrates compiling a simple C/C++ function with Emscripten. It shows how to run a minimal WebAssembly module from Node.js with reduced runtime support, inspect its textual format, and prepare for transferring array data such as pixel RGB values for image processing.

### Source excerpt

WebAssembly is getting more popular than ever. The use of WebAssembly outside the confinement of a web browser also starts to gain traction, as evidenced from projects such as WebAssembly Interface. Understanding the memory model of WebAssembly will be important in order to fully comprehend its power as well as its constraints.

## Animated line drawings with OpenCV

DevFeed: [Animated line drawings with OpenCV](<https://devfeed.tech/articles/animated-line-drawings-with-opencv-21653.md>)

Original publisher: [Read original article](<https://www.windytan.com/2017/12/animated-line-drawings-with-opencv.html>)

Author: Oona Räisänen (noreply@blogger.com)

Published: 2017-12-30T12:15:00Z

Content type: tutorial

Language: en

Sources: [Oona Räisänen](<https://devfeed.tech/sources/oona-raisanen.md>)

Topics: [OpenCV](<https://devfeed.tech/topics/opencv.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [CMake](<https://devfeed.tech/topics/cmake.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [cmake](<https://devfeed.tech/tags/cmake.md>), [compiler-flags](<https://devfeed.tech/tags/compiler-flags.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [gaussian](<https://devfeed.tech/tags/gaussian.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [gui](<https://devfeed.tech/tags/gui.md>), [make](<https://devfeed.tech/tags/make.md>), [music](<https://devfeed.tech/tags/music.md>), [plotting](<https://devfeed.tech/tags/plotting.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [subpixel](<https://devfeed.tech/tags/subpixel.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [vector](<https://devfeed.tech/tags/vector.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This tutorial shows how to use OpenCV and C++ to create pixel-level animated graphics and save them as video. It covers project setup with CMake, drawing rotating concentric rings on an RGB canvas, subpixel antialiasing, and a Gaussian blur glow effect.

### Source excerpt

OpenCV is a pretty versatile C++ computer vision library. Because I use it every day it has also become my go-to tool for creating simple animations at pixel level, for fun, and saving them as video files. This is not one of its core functions but happens to be possible using its GUI drawing tools. Below we'll take a look at some video art I wrote for a music project. It goes a bit further than just line drawings but the rest is pretty much just flavouring. As you'll see, creating images in OpenCV has a lot in common with how you would work with layers and filters in an image editor like GIMP or Photoshop. Setting it up It doesn't take a lot of boilerplate to initialize an OpenCV project. Here's my minimal CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (marmalade) find_package (OpenCV REQUIRED) add_executable (marmalade marmalade.cc) target_link_libraries (marmalade ${OpenCV_LIBS}) I also like to set compiler flags to enforce the C++11 standard, but this is not necessary. In the main .cc file I have: #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" Now you can build the project by just typing cmake . && make in the terminal. Basic shapes First, we'll need an empty canvas. It will be a matrix (cv::Mat) with three unsigned char channels for RGB at Full HD resolution: const cv::Size video_size(1920, 1080); cv::Mat mat_frame = cv::Mat::zeros(video_size, CV_8UC3); This will also initialize everything to zero, i.e. black. Now we can draw our graphics! I had an initial idea of an endless cascade of concentric rings each rotating at a different speed. There might be color and brightness variations as well but otherwise it would stay static the whole time. You can't see a circle's rotation around its center, so we'll add some features to them as well, maybe some kind of bars or spokes. A simplified render method for a ring would look like this: void Ring::RenderTo(cv::Mat& mat_output) const { cv::circle(mat_output, 8 * center_, 8 *

## Combining Picasso with color matrices to transform images

DevFeed: [Combining Picasso with color matrices to transform images](<https://devfeed.tech/articles/welcome-to-the-color-matrix-15957.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/welcome-to-the-color-matrix>)

Author: P-Y Ricau

Published: 2015-12-09T17:10:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Picasso](<https://devfeed.tech/topics/picasso.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [canvas](<https://devfeed.tech/tags/canvas.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [images](<https://devfeed.tech/tags/images.md>), [picasso](<https://devfeed.tech/tags/picasso.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>)

### AI overview

This tutorial explains how to tint downloaded images dynamically by converting them to grayscale and applying a ColorMatrix while drawing them on a canvas. It presents the approach as more generic and efficient than layering a translucent color or processing every pixel individually.

### Source excerpt

Combining Picasso with color matrices to transform images.

## CSS Image Effects #1: Vintage Washout

DevFeed: [CSS Image Effects #1: Vintage Washout](<https://devfeed.tech/articles/css-image-effects-1-vintage-washout-28852.md>)

Original publisher: [Read original article](<https://una.im/vintage-washout/>)

Published: 2015-10-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Una Kravets](<https://devfeed.tech/sources/una-kravets.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [image effects](<https://devfeed.tech/topics/image-effects.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [color](<https://devfeed.tech/tags/color.md>), [css](<https://devfeed.tech/tags/css.md>), [image-effects](<https://devfeed.tech/tags/image-effects.md>), [rgb](<https://devfeed.tech/tags/rgb.md>)

### AI overview

The first post in a series explains how to create a vintage washout image effect with CSS. It describes lightening dark tones, using the lighten blend mode, and choosing a darkest color to reduce shadow detail.

### Source excerpt

The first post in a series on creating custom image effects in CSS. We'll take a look at the vintage washout effect.