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);
});