Please bookmark this page to avoid losing your image tool!

Image Of Young Woman Sitting In Metro In Jan Saudek Style

(Free & Supports Bulk Upload)

Drag & drop your images here or

The result will appear here...
You can edit the below JavaScript code to customize the image tool.
/**
 * Applies a photographic style inspired by Jan Saudek to an image.
 * This style is characterized by hand-colored, high-contrast, sepia-toned photographs with grain and vignetting.
 *
 * @param {HTMLImageElement} originalImg The original image element.
 * @param {number} sepiaIntensity A value from 0 (grayscale) to 1 (full sepia) for the base tone. Default is 1.
 * @param {number} colorSaturation A value from 0 (no color) to 1 (full color) that controls how much of the original color is blended back in, simulating hand-coloring. Default is 0.6.
 * @param {number} contrast A value for contrast enhancement. 1 is no change. Values between 1 and 2 are recommended. Default is 1.2.
 * @param {number} grainAmount The intensity of the film grain effect. 0 is no grain. Default is 15.
 * @param {number} vignetteStrength The darkness of the vignette at the edges, from 0 (transparent) to 1 (black). Default is 0.7.
 * @param {number} vignetteSoftness The size of the vignette's soft fade, from 0 to 1. A higher value means a larger central bright area. Default is 0.5.
 * @returns {HTMLCanvasElement} A new canvas element with the stylized image.
 */
function processImage(originalImg, sepiaIntensity = 1, colorSaturation = 0.6, contrast = 1.2, grainAmount = 15, vignetteStrength = 0.7, vignetteSoftness = 0.5) {
    // 1. Setup Canvas
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    const w = originalImg.width;
    const h = originalImg.height;
    canvas.width = w;
    canvas.height = h;

    // 2. Create the base sepia layer by converting the image to B&W and tinting it.
    ctx.drawImage(originalImg, 0, 0, w, h);
    const imageData = ctx.getImageData(0, 0, w, h);
    const data = imageData.data;
    for (let i = 0; i < data.length; i += 4) {
        const r = data[i],
            g = data[i + 1],
            b = data[i + 2];

        // Convert to grayscale using the luminosity method
        const gray = 0.299 * r + 0.587 * g + 0.114 * b;

        // Apply a classic sepia tone formula
        const sepiaR = (gray * 0.393) + (gray * 0.769) + (gray * 0.189);
        const sepiaG = (gray * 0.349) + (gray * 0.686) + (gray * 0.168);
        const sepiaB = (gray * 0.272) + (gray * 0.534) + (gray * 0.131);

        // Blend the sepia effect with the grayscale based on intensity
        data[i] = (1 - sepiaIntensity) * gray + sepiaIntensity * sepiaR;
        data[i + 1] = (1 - sepiaIntensity) * gray + sepiaIntensity * sepiaG;
        data[i + 2] = (1 - sepiaIntensity) * gray + sepiaIntensity * sepiaB;
    }
    ctx.putImageData(imageData, 0, 0);

    // 3. Blend original colors back on top to simulate hand-coloring.
    // The 'color' composite operation takes the hue and saturation from the source image
    // and the luminosity from the destination (our sepia canvas).
    ctx.globalCompositeOperation = 'color';
    ctx.globalAlpha = colorSaturation; // Control the strength of the coloring
    ctx.drawImage(originalImg, 0, 0, w, h);

    // Reset composite settings
    ctx.globalCompositeOperation = 'source-over';
    ctx.globalAlpha = 1.0;

    // 4. Apply final adjustments: Contrast and Grain
    const finalImageData = ctx.getImageData(0, 0, w, h);
    const finalData = finalImageData.data;
    const intercept = 128 * (1 - contrast);

    for (let i = 0; i < finalData.length; i += 4) {
        let r = finalData[i];
        let g = finalData[i + 1];
        let b = finalData[i + 2];

        // Apply Contrast
        r = r * contrast + intercept;
        g = g * contrast + intercept;
        b = b * contrast + intercept;

        // Apply Grain
        const grain = (Math.random() - 0.5) * grainAmount;
        r += grain;
        g += grain;
        b += grain;

        // Clamp values to the 0-255 range
        finalData[i] = Math.max(0, Math.min(255, r));
        finalData[i + 1] = Math.max(0, Math.min(255, g));
        finalData[i + 2] = Math.max(0, Math.min(255, b));
    }
    ctx.putImageData(finalImageData, 0, 0);

    // 5. Add Vignette
    const centerX = w / 2;
    const centerY = h / 2;
    const outerRadius = Math.sqrt(centerX * centerX + centerY * centerY);
    const innerRadius = outerRadius * vignetteSoftness;

    const gradient = ctx.createRadialGradient(
        centerX, centerY, innerRadius,
        centerX, centerY, outerRadius
    );
    gradient.addColorStop(0, 'rgba(0,0,0,0)');
    gradient.addColorStop(1, `rgba(0,0,0,${vignetteStrength})`);

    ctx.fillStyle = gradient;
    ctx.fillRect(0, 0, w, h);

    return canvas;
}

Free Image Tool Creator

Can't find the image tool you're looking for?
Create one based on your own needs now!

Description

The ‘Image of Young Woman Sitting in Metro in Jan Saudek Style’ tool allows users to transform standard images into stylized photographs inspired by the artistic techniques of Jan Saudek. This tool applies a unique photographic effect characterized by high-contrast, sepia tones, and hand-colored details, creating a nostalgic and artistic feel. Users can customize the intensity of the sepia effect, control color saturation, adjust contrast levels, and add film grain and vignette effects. This tool is ideal for artists, photographers, and social media enthusiasts looking to add a vintage aesthetic to their images, perfect for creative projects, personal galleries, or social media posts.

Leave a Reply

Your email address will not be published. Required fields are marked *

Other Image Tools:

Photo Watermark With Timestamp for Multiple Images Tool

Image Face Cropping Tool for Automated Detection and Extraction

Image CAD-Style Golden Rectangle Stencil Generator

Image VHS Effect Creator

Image Transparency Viewer

Image Color Channel Inspector

Image Text Overlay Creator

Comprehensive Image Utility Tool

Image To 2000s Low Quality Digital Camera Effect Tool

Image Headshot Cropper with 1:1 Resolution

Image AI Filter Effect Remover

Image Gloomy Effect Editor

Image Japanese Anime-Style Generator

3D Cartoon Style Image Creator

Image To Pixel-Style Converter

Image Black And White HUD Style With VHS Effects

Black and White MQ1 Reaper Drone Targeting Pod Image

Image Filter for MQ1 Reaper Drone Targeting Pod

Image Hyper-Realistic Portrait Triptych Generator

Image To Professional Architectural Render Blueprint Converter

Image Ultraviolet Camera Filter

Image Portrait Generator with Warm Golden Hour Lighting

Image Softly Lit Portrait Generator

Image Petal Count Identifier

Image Ball Creator

Image To CAD-Style Blueprint Converter

Image To Blueprint CAD Style Converter

Image To Clean CAD Blueprint Generator

Image To CAD Blueprint Generator

Image To Technical Blueprint Style Converter

Image To Blueprint-Style Drawing Converter

Image To Technical Blueprint Converter

Architectural Plan to Technical Blueprint Image Converter

Architectural Plan To Blueprint-Style Image Converter

Image To Blueprint Architectural Style Converter

Image Background Replacement To White

See All →