Please bookmark this page to avoid losing your image tool!

Image Argus C3 Vintage Camera Filter Effect

(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.
function processImage(originalImg, grainAmountInput = 20, vignetteIntensityInput = 0.6) {
    // Validate and sanitize input parameters
    let grainAmount = Number(grainAmountInput);
    if (isNaN(grainAmount) || grainAmount < 0) {
        grainAmount = 20; // Default value if input is invalid or negative
    }

    let vignetteIntensity = Number(vignetteIntensityInput);
    if (isNaN(vignetteIntensity)) {
        vignetteIntensity = 0.6; // Default value if input is NaN
    }
    // Clamp vignetteIntensity to the logical range [0, 1]
    vignetteIntensity = Math.max(0, Math.min(1, vignetteIntensity));

    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');

    canvas.width = originalImg.naturalWidth;
    canvas.height = originalImg.naturalHeight;

    // Draw the original image onto the canvas
    ctx.drawImage(originalImg, 0, 0, canvas.width, canvas.height);

    // Get image data to manipulate pixels
    const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
    const data = imageData.data;
    const width = canvas.width;
    const height = canvas.height;

    // Fixed effect parameters for the "Argus C3 Vintage" look
    const desaturationAmount = 0.15; // Level of desaturation
    const colorBoostR = 1.05;        // Factor to boost red channel
    const colorBoostG = 1.02;        // Factor to boost green channel
    const colorReductionB = 0.90;    // Factor to reduce blue channel
    const warmthAddR = 5;            // Value to add to red channel for warmth
    const brightnessAdjustment = -5; // Overall brightness change
    const contrastLevel = 25;        // Defines contrast enhancement (approx -100 to 100)

    // Pre-calculate contrast factor
    const contrastFactor = (259 * (contrastLevel + 255)) / (255 * (259 - contrastLevel));

    // Process each pixel
    for (let i = 0; i < data.length; i += 4) {
        let r = data[i];
        let g = data[i + 1];
        let b = data[i + 2];

        // 1. Desaturation
        const grayVal = 0.299 * r + 0.587 * g + 0.114 * b;
        r = r * (1 - desaturationAmount) + grayVal * desaturationAmount;
        g = g * (1 - desaturationAmount) + grayVal * desaturationAmount;
        b = b * (1 - desaturationAmount) + grayVal * desaturationAmount;

        // 2. Color Aging/Shift (simulating aged film with a yellowish tint)
        r = r * colorBoostR + warmthAddR;
        g = g * colorBoostG;
        b = b * colorReductionB;

        // 3. Brightness Adjustment
        r += brightnessAdjustment;
        g += brightnessAdjustment;
        b += brightnessAdjustment;

        // 4. Contrast Enhancement
        r = contrastFactor * (r - 128) + 128;
        g = contrastFactor * (g - 128) + 128;
        b = contrastFactor * (b - 128) + 128;

        // 5. Noise (Film Grain) - Controlled by grainAmount parameter
        if (grainAmount > 0) {
            const noise = (Math.random() - 0.5) * grainAmount;
            r += noise;
            g += noise;
            b += noise;
        }

        // Clamp values to the 0-255 range
        data[i] = Math.max(0, Math.min(255, r));
        data[i + 1] = Math.max(0, Math.min(255, g));
        data[i + 2] = Math.max(0, Math.min(255, b));
        // Alpha channel (data[i+3]) remains unchanged
    }

    // Put the modified pixel data back onto the canvas
    ctx.putImageData(imageData, 0, 0);

    // 6. Vignetting - Controlled by vignetteIntensity parameter
    if (vignetteIntensity > 0) {
        const centerX = width / 2;
        const centerY = height / 2;
        // Distance from center to a corner, defines max radius for vignette
        const maxDist = Math.sqrt(centerX * centerX + centerY * centerY);

        // Vignette appearance parameters (fixed for this filter style)
        const vignetteSpread = 0.75; // How far vignette extends inwards (0=edges only, 1=reaches center)
        const vignetteEdgeColorR = 40; // Base color for dark vignette edge (dark warm brown)
        const vignetteEdgeColorG = 20;
        const vignetteEdgeColorB = 5;

        const rOuter = maxDist; // Vignette fully opaque at this radius
        const rInner = maxDist * (1 - vignetteSpread); // Vignette starts becoming visible from this radius

        const gradient = ctx.createRadialGradient(centerX, centerY, rInner, centerX, centerY, rOuter);

        // Calculate the actual color for the vignette's edge based on intensity.
        // For 'multiply' blend mode, the vignette layer color determines how much original pixels are darkened.
        // A white color (255,255,255) in the vignette layer results in no change.
        // A darker color results in darkening.
        // vignetteIntensity = 0 -> edge is white (no effect)
        // vignetteIntensity = 1 -> edge is (vignetteEdgeColorR, G, B)
        const finalEdgeR = (1 - vignetteIntensity) * 255 + vignetteIntensity * vignetteEdgeColorR;
        const finalEdgeG = (1 - vignetteIntensity) * 255 + vignetteIntensity * vignetteEdgeColorG;
        const finalEdgeB = (1 - vignetteIntensity) * 255 + vignetteIntensity * vignetteEdgeColorB;

        gradient.addColorStop(0, 'rgba(255,255,255,1)'); // Center of gradient: white (no effect with multiply)
        gradient.addColorStop(1, `rgba(${finalEdgeR},${finalEdgeG},${finalEdgeB},1)`); // Edge of gradient: calculated color

        ctx.fillStyle = gradient;
        ctx.globalCompositeOperation = 'multiply'; // Apply vignette by darkening existing pixels
        ctx.fillRect(0, 0, width, height);
        ctx.globalCompositeOperation = 'source-over'; // Reset composite operation to default
    }

    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 Argus C3 Vintage Camera Filter Effect tool allows users to apply a nostalgic vintage filter to their images, mimicking the aesthetic qualities of the Argus C3 camera. With adjustable grain and vignette parameters, users can customize the look to achieve a desired level of film grain and edge darkness. This tool is ideal for photographers and graphic designers looking to create retro-style images, enhance social media posts, or add a classic touch to digital artwork.

Leave a Reply

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

Other Image Tools:

Image ORWO NP22 Film Filter Effect Application

Image Wratten #25 Red Filter Effect Tool

Image Helios 44-2 Swirly Bokeh Effect Filter

Image Fujifilm ETERNA Motion Picture Film Effect Applicator

Image Fujifilm FP-100C Instant Film Effect Filter

Image Canon AE-1 Film Camera Render Effect

Photo B+W Dark Red #29 Filter Effect Application

Image Toy Camera Effect Enhancer

Photo Graflex Speed Graphic Filter Effect Tool

Image Konica Hexar AF Filter Effect Application

Image Ricoh GR Film Camera Filter Effect Application

Image Kodak Disposable Camera Filter Effect

Image Hoya Pro ND Filter Effect Application

Image Wratten #12 Yellow Filter Effect Tool

Image AGFA APX 100 Film Filter Effect Tool

Image Singh-Ray Vari-ND Filter Effect Application

Image Rollei RPX 25 Film Filter Effect Tool

Image 35mm Half-frame Camera Filter Effect

Image Kodak Vision3 250D Motion Picture Film Effect Filter

Image 120 Film Format Filter Effect

Image Lens Whacking Filter Effect Tool

Image Black and White Red Filter Effect Tool

Image Lee Medium Stopper 6-Stop ND Filter Effect Tool

Image Nikon F3 Film Camera Render Effect Tool

Image Polaroid Spectra Filter Effect Tool

Image Contax T2/T3 Filter Effect Application

Image Bronica ETRS Medium Format Filter Effect Application

Image Soap Bubble Bokeh Effect Generator

Image Center Graduated ND Filter Effect Tool

Image Breakthrough Photography X4 ND Filter Effect

Photo Filter Effect Creator for Yashica T4 Point-and-Shoot

Image AGFA APX 25 Film Filter Effect Tool

Image Singh-Ray Gold-N-Blue Polarizer Effect Tool

Image Black and White Blue Filter Effect Tool

Image Pinhole Solargraphy Effect Creator

Image Kodak Vision3 500T Motion Picture Film Effect Simulator

See All →