Il filtro che azzera: Terminatore

Quinto filtro dedicato al Cinema in senso lato, perchè questa volta è una serie animata che uscirà nel futuro rispetto a questo articolo sotto l’obiettivo.
Il filtro è un omaggio, di buon augurio, ad una serie che andrà in onda sulla piattaforma Netflix, ma che sta già facendo molto discutere: “Terminator Zero”.
Uscita prevista per il 29 Agosto 2024, 40° anno dall’uscita di “Terminator”, che si comporrà di 8 episodi ambientati nella capitale nipponica fra passato e presente, raccontando i rischi dell’utilizzo dell’intelligenza artificiale.

Il filtro utilizzato in questa pagina “Terminatore” trasforma le immagini in uno stile grigio metallico, di base, che ricorda il design futuristico dei robot nel film “The Terminator”. L’effetto principale è una conversione in toni di grigio, che crea un aspetto metallico e freddo sommato ad una leggera tinta rossa e blu, una sorta di Purple Gray, evocando non solo i famosi occhi rossi del Terminator, ma anche l’aspetto cibernetico del film, ed in più simulando sopratutto una delle immagini già iconiche che identificano la nuova serie TV ancora tutta da scoprire.
L’immagine finale appare quindi robotica e tecnologica, perfetta per un tocco vintage, legato all’anniversario, ma con rinnovamento a seguito della nuova uscita a cartone animato futuristica, sperando non futuribile.

Utilizza il tasto “Sfoglia” per visualizzare l’immagine. Dopo aver visualizzato l’immagine sarà possibile scaricare la foto con il filtro applicato cliccando sul tasto “Scarica con filtro Terminatore”.

Buon viaggio in questo filtro cibernetico!

Terminator Filter body { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 100vh; background-color: #2b2b2b; /* Dark gray background for a futuristic feel */ color: #000000; /* Black text color for the body */ margin: 0; padding: 20px; } h1 { color: #ff0000; /* Red color for heading to evoke the Terminator's red eyes */ text-shadow: 0 0 10px #ff0000, 0 0 20px #ff0000; /* Red glow effect for the heading */ } input[type="file"] { margin-top: 20px; padding: 10px; border: 2px solid #ff0000; background-color: #3a3a3a; color: #ff0000; cursor: pointer; } input[type="file"]::file-selector-button { padding: 10px; border: none; background-color: #ff0000; color: #2b2b2b; cursor: pointer; } canvas { display: block; margin-top: 20px; border: 2px solid #ff0000; max-width: 750px; } #downloadButton { display: none; margin-top: 20px; padding: 10px 20px; border: none; background-color: #ff0000; color: #2b2b2b; cursor: pointer; text-transform: uppercase; letter-spacing: 1px; } #downloadButton:hover { background-color: #cc0000; }

Applica il filtro Terminator

document.getElementById('upload').addEventListener('change', function(event) { const file = event.target.files[0]; if (!file) return; const reader = new FileReader(); reader.onload = function(e) { const img = new Image(); img.onload = function() { const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); // Calcola la larghezza e l'altezza mantenendo le proporzioni se l'immagine supera 750px di larghezza let width = img.width; let height = img.height; if (width > 750) { const ratio = 750 / width; width = 750; height = height * ratio; } canvas.width = width; canvas.height = height; ctx.drawImage(img, 0, 0, width, height); // Apply "Terminator" filter const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); const data = imageData.data; for (let i = 0; i < data.length; i += 4) { const r = data[i]; const g = data[i + 1]; const b = data[i + 2]; // Apply a metallic, grayish effect const gray = (r * 0.3 + g * 0.3 + b * 0.3); // Compute gray value data[i] = gray + 50; // Red - Metalic effect with slight red tint data[i + 1] = gray; // Green - Metalic effect data[i + 2] = gray + 50; // Blue - Metalic effect with slight blue tint // Add a slight red tint for the Terminator's eyes data[i] += 30; // Red - Add a slight red tint data[i + 1] -= 10; // Green - Reduce to balance data[i + 2] -= 10; // Blue - Reduce to balance } ctx.putImageData(imageData, 0, 0); // Prepare download button const downloadButton = document.getElementById('downloadButton'); downloadButton.style.display = 'block'; downloadButton.onclick = function() { const link = document.createElement('a'); link.download = file.name.replace(/\.[^/.]+$/, '') + '_Terminatore.jpg'; link.href = canvas.toDataURL('image/jpeg'); link.click(); }; }; img.src = e.target.result; }; reader.readAsDataURL(file); });