Please bookmark this page to avoid losing your image tool!

Image Scanner Software And Mediateka Topic Search Identifier

(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, scanColor = '#00FF00', scannerPosition = '0.5', toolName = 'SCANNER IDENTIFIER PICK SOFTWARE', searchTopic = 'MEDIATEKA') {
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    canvas.width = originalImg.width;
    canvas.height = originalImg.height;

    // Draw the original image with a dark grayscale tint to emulate a scanner screen
    ctx.filter = 'brightness(0.4) contrast(1.5) grayscale(1)';
    ctx.drawImage(originalImg, 0, 0);
    ctx.filter = 'none';

    // Add horizontal scanlines
    ctx.fillStyle = 'rgba(0, 0, 0, 0.3)';
    for (let y = 0; y < canvas.height; y += 4) {
        ctx.fillRect(0, y, canvas.width, 2);
    }

    // Add a scanning grid effect
    ctx.save();
    ctx.globalAlpha = 0.2;
    ctx.strokeStyle = scanColor;
    ctx.lineWidth = 1;
    const gridSpacing = Math.max(10, Math.min(canvas.width, canvas.height) * 0.1);
    ctx.beginPath();
    for(let x = 0; x < canvas.width; x += gridSpacing) {
        ctx.moveTo(x, 0);
        ctx.lineTo(x, canvas.height);
    }
    for(let y = 0; y < canvas.height; y += gridSpacing) {
        ctx.moveTo(0, y);
        ctx.lineTo(canvas.width, y);
    }
    ctx.stroke();
    ctx.restore();

    // Add a glowing scanner line at the given position (0.0 to 1.0)
    let yPos = canvas.height * Math.max(0, Math.min(1, parseFloat(scannerPosition) || 0.5));
    ctx.fillStyle = scanColor;
    ctx.shadowColor = scanColor;
    ctx.shadowBlur = 15;
    ctx.fillRect(0, yPos - 2, canvas.width, 4);
    ctx.fillStyle = '#FFFFFF';
    ctx.fillRect(0, yPos - 0.5, canvas.width, 1);
    ctx.shadowBlur = 0;

    // HUD Drawing helper for bracket corners
    function drawBrackets(x, y, w, h, bSize) {
        ctx.beginPath();
        // Top Left
        ctx.moveTo(x, y + bSize);
        ctx.lineTo(x, y);
        ctx.lineTo(x + bSize, y);
        
        // Top Right
        ctx.moveTo(x + w - bSize, y);
        ctx.lineTo(x + w, y);
        ctx.lineTo(x + w, y + bSize);

        // Bottom Left
        ctx.moveTo(x, y + h - bSize);
        ctx.lineTo(x, y + h);
        ctx.lineTo(x + bSize, y + h);

        // Bottom Right
        ctx.moveTo(x + w - bSize, y + h);
        ctx.lineTo(x + w, y + h);
        ctx.lineTo(x + w, y + h - bSize);
        ctx.stroke();
    }

    // Overlay outer HUD brackets
    const margin = Math.min(canvas.width, canvas.height) * 0.05;
    const bracketSize = Math.max(10, Math.min(canvas.width, canvas.height) * 0.1);
    const thickness = Math.max(2, canvas.width * 0.005);
    
    ctx.strokeStyle = scanColor;
    ctx.lineWidth = thickness;
    drawBrackets(margin, margin, canvas.width - margin * 2, canvas.height - margin * 2, bracketSize);

    // Draw central target box simulating topic identification
    const boxW = Math.min(canvas.width, canvas.height) * 0.5;
    const boxH = Math.min(canvas.width, canvas.height) * 0.5;
    const boxX = (canvas.width - boxW) / 2;
    const boxY = (canvas.height - boxH) / 2;
    ctx.lineWidth = thickness * 0.5;
    drawBrackets(boxX, boxY, boxW, boxH, bracketSize * 0.5);

    // Draw a random crosshair inside the central target box
    ctx.beginPath();
    ctx.moveTo(boxX + boxW / 2, boxY + boxH * 0.4);
    ctx.lineTo(boxX + boxW / 2, boxY + boxH * 0.6);
    ctx.moveTo(boxX + boxW * 0.4, boxY + boxH / 2);
    ctx.lineTo(boxX + boxW * 0.6, boxY + boxH / 2);
    ctx.stroke();

    // Overlay descriptive UI Text
    ctx.fillStyle = scanColor;
    const fontSizeMain = Math.max(14, canvas.width * 0.025);
    ctx.font = `bold ${fontSizeMain}px Courier New, Courier, monospace`;
    ctx.textBaseline = 'top';
    ctx.fillText(`${toolName} [ACTIVE]`, margin, margin - fontSizeMain);
    
    const fontSizeSub = Math.max(10, canvas.width * 0.015);
    ctx.font = `normal ${fontSizeSub}px Courier New, Courier, monospace`;
    ctx.fillText(`SEARCH TOPIC IDENTIFIER: ${searchTopic}`, boxX, boxY - fontSizeSub - 5);
    ctx.fillText('STATUS: PICKING TARGET...', boxX, boxY + boxH + 5);

    // Overlay pseudo scan data at the bottom
    const dataText = `SYS.MEM.${Math.floor(Math.random()*900)+100} / X:${Math.floor(canvas.width/2)} Y:${Math.floor(canvas.height/2)}`;
    ctx.fillText(dataText, margin, canvas.height - margin + 5);

    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

This tool applies a high-tech, futuristic scanning effect to your images. It transforms images into a dark, grayscale format and overlays digital elements such as horizontal scanlines, a customizable glowing scanner bar, a grid overlay, and a technical HUD (Heads-Up Display). The effect includes target brackets, crosshairs, and simulated system data, making it ideal for creating sci-fi themed content, digital art, or cinematic visual assets for presentations and social media.

Leave a Reply

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