您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pixel Place Tools
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/443807/1043331/PPT.js
- // ==UserScript==
- // @name PPT
- // @description Pixel Place Tools
- // @version 1.4.2
- // @author 0vC4
- // @namespace https://gf.qytechs.cn/users/670183
- // @match https://pixelplace.io/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=pixelplace.io
- // @license MIT
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- const PPT = (() => {
- if (window.PPT) return window.PPT;
- const PPT = {
- zero: 0xCCCCCC,
- default: new Uint32Array([
- 0xFFFFFF,
- 0xC4C4C4,
- 0x888888,
- 0x555555,
- 0x222222,
- 0x000000,
- 0x006600,
- 0x22B14C,
- 0x02BE01,
- 0x51E119,
- 0x94E044,
- 0xFBFF5B,
- 0xE5D900,
- 0xE6BE0C,
- 0xE59500,
- 0xA06A42,
- 0x99530D,
- 0x633C1F,
- 0x6B0000,
- 0x9F0000,
- 0xE50000,
- 0xFF3904,
- 0xBB4F00,
- 0xFF755F,
- 0xFFC49F,
- 0xFFDFCC,
- 0xFFA7D1,
- 0xCF6EE4,
- 0xEC08EC,
- 0x820080,
- 0x5100FF,
- 0x020763,
- 0x0000EA,
- 0x044BFF,
- 0x6583CF,
- 0x36BAFF,
- 0x0083C7,
- 0x00D3DD,
- 0x45FFC8
- ]),
- exclude: new Uint32Array([
- 0x51E119,
- 0xFF3904,
- 0x5100FF,
- 0x45FFC8
- ]),
- get palette() {
- return this.default.map(color => this.exclude.includes(color) ? this.zero : color);
- },
- _wheelID: 0,
- get wheel() {
- let pixel = this._wheelID+1;
- while (this.palette[pixel] == this.zero)
- if (this.palette[++pixel] == null)
- pixel = 0;
- this._wheelID = pixel;
- return this._wheelID;
- },
- RGB2P(r, g, b) {
- const closest = [...this.palette]
- .filter(n => n != this.zero)
- .map(clr =>
- [
- ((r - ((clr>>16)&0xFF))*.299)**2 +
- ((g - ((clr>>8)&0xFF))*.587)**2 +
- ((b - (clr&0xFF))*.114)**2,
- clr
- ]
- )
- .sort((a,b) => a[0]-b[0])
- [0][1];
- return this.palette.indexOf(closest);
- },
- CLR2P(color) {
- return this.RGB2P((color>>16)&0xFF, (color>>8)&0xFF, color&0xFF);
- },
- timer: window,
- pixel: 0,
- size: 1,
- square(x,y,callback) {
- const half = (this.size>>1);
- const {pixel, timer} = this;
- let xi = -half;
- let yi = -half;
- let t = timer.setInterval(() => {
- for (; yi < half+1;) {
- for (; xi < half+1;) {
- callback(x+xi, y+yi, pixel);
- xi++;
- return;
- }
- yi++;
- xi = -half;
- }
- timer.clearInterval(t);
- return;
- });
- return t;
- },
- image(pixels, x,y,w,h, callback) {
- const {timer} = this;
- let xi = 0;
- let yi = 0;
- let t = timer.setInterval(() => {
- for (; yi < h;) {
- for (; xi < w;) {
- const pixel = pixels[xi+yi*w];
- if (pixel === 255) {
- xi++;
- continue;
- }
- callback(x+xi, y+yi, pixel);
- xi++;
- return;
- }
- yi++;
- xi = 0;
- }
- timer.clearInterval(t);
- return;
- });
- return t;
- }
- };
- window.PPT = PPT;
- return PPT;
- })();
- // 0vC4#7152
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址