您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically apply an HDR-like effect to all images on a webpage with adjustable settings
当前为
// ==UserScript== // @name Auto HDR // @namespace http://taeparlaytampermonkey.net/ // @version 11 // @description Automatically apply an HDR-like effect to all images on a webpage with adjustable settings // @author tae // @license MIT // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; // Default settings let settings = { hdrEnabled: true, factor: 1.2, // Adjusted factor to prevent over-brightening excludedSites: [] }; // Load settings from local storage function loadSettings() { const savedSettings = localStorage.getItem('autoHDRSettings'); if (savedSettings) { settings = JSON.parse(savedSettings); } } // Save settings to local storage function saveSettings() { localStorage.setItem('autoHDRSettings', JSON.stringify(settings)); } // Apply HDR-like effect to each image function applyHDREffect(img) { const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); canvas.width = img.width; canvas.height = img.height; context.drawImage(img, 0, 0, img.width, img.height); let imageData = context.getImageData(0, 0, img.width, img.height); let data = imageData.data; for (let i = 0; i < data.length; i += 4) { data[i] = clamp(data[i] * settings.factor); // Red data[i + 1] = clamp(data[i + 1] * settings.factor); // Green data[i + 2] = clamp(data[i + 2] * settings.factor); // Blue } context.putImageData(imageData, 0, 0); img.src = canvas.toDataURL(); img.dataset.hdrApplied = true; // Mark as HDR applied } // Helper function to clamp values between 0 and 255 function clamp(value) { return Math.max(0, Math.min(255, value)); } // Apply or remove HDR effect based on settings function toggleHDREffect() { const images = document.querySelectorAll('img'); images.forEach(img => { if (settings.hdrEnabled) { if (!img.dataset.hdrApplied) { applyHDREffect(img); } } else { if (img.dataset.hdrApplied) { img.src = img.src; // Reset image source to remove HDR effect img.removeAttribute('data-hdrApplied'); } } }); } // Check if the current site is excluded function isSiteExcluded() { return settings.excludedSites.some(site => window.location.href.includes(site)); } // Run the functions on page load window.addEventListener('load', () => { loadSettings(); if (!isSiteExcluded()) { toggleHDREffect(); } }); })();