shift+alt+z/x放大/缩小,+q/e左/右旋转,wasd移动,+r恢复,+c重新读取图片。
目前為
// ==UserScript==
// @name 图片移动缩放旋转
// @version 1.0.3
// @description shift+alt+z/x放大/缩小,+q/e左/右旋转,wasd移动,+r恢复,+c重新读取图片。
// @author dianclar
// @match *://*/*
// @license GPL
// @grant none
// @namespace https://greasyfork.org/users/1538433
// ==/UserScript==
;(function () {
'use strict'
//可以修改缩放程度
const stylevalue = 10
//可以修改移动程度
const locationvalue = 10
//可以修改旋转程度
const rotationvalue = 90
let stylei = 0
let rotation = 0
let xi = 0
let yi = 0
let keydownon = false
let imglist = []
let imgs = document.querySelectorAll('img')
document.addEventListener('keydown', function (event) {
if (event.shiftKey && event.altKey && event.code === 'KeyC') {
imgs = document.querySelectorAll('img')
imgpaly()
}
})
function imgpaly() {
if (!imgs.length == 0) {
imgs.forEach((img) => {
img.style.objectFit = 'contain'
const rect = img.getBoundingClientRect()
imglist.push({
width: rect.width,
height: rect.height,
x: rect.x,
y: rect.y
})
})
if(keydownon){
return
}
keydownon = true
document.addEventListener('keydown', function (event) {
if (event.shiftKey && event.altKey && event.code === 'KeyZ') {
stylei--
imgs.forEach((img, i) => {
img.style.height = imglist[i].height * (stylevalue * stylei + 100) * 0.01 + 'px'
img.style.width = imglist[i].width * (stylevalue * stylei + 100) * 0.01 + 'px'
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyX') {
stylei++
imgs.forEach((img, i) => {
img.style.height = imglist[i].height * (stylevalue * stylei + 100) * 0.01 + 'px'
img.style.width = imglist[i].width * (stylevalue * stylei + 100) * 0.01 + 'px'
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyE') {
rotation += rotationvalue
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyQ') {
rotation -= rotationvalue
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyW') {
yi--
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyS') {
yi++
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyA') {
xi--
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyD') {
xi++
imgs.forEach((img) => {
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
if (event.shiftKey && event.altKey && event.code === 'KeyR') {
stylei = 0
rotation = 0
xi = 0
yi = 0
imgs.forEach((img,i) => {
img.style.height = imglist[i].height * (stylevalue * stylei + 100) * 0.01 + 'px'
img.style.width = imglist[i].width * (stylevalue * stylei + 100) * 0.01 + 'px'
img.style.transform = `translateX(${xi * locationvalue}px) translateY(${yi * locationvalue}px) rotate(${rotation}deg)`
})
}
})
}
}
imgpaly()
})()