本帖最后由 lovelinessmoe 于 2022-9-1 08:39 编辑
本人所发布的一切软件仅限用于学习和研究目的,不得用于商业或非法用途,否则,一切后果请自负。版权争议与本站无关。您必须在下载后的24小时内,从您的设备中彻底删除上述内容。若您需要非免费软件或服务,请购买正版授权合法使用。若侵犯您权益,请资料联系我。
艾特自动变了,大家伙自己改吧呜呜呜
主要是第一次弄这种算是破解吧,实在是害怕,我连GreasyFork都没上传,饶了我吧呜呜
提供了SVG和PNG两种图片格式下载
但是存在些问题,svg就好像不是正确格式似的,在chrome中打开无错误,IDEA里打不开了
通过saveSvgAsPng进行svg转png的下载方式
通过XPATH定位dom中的logo位置
是个油候脚本,要在logo的编辑页面中才能使用
也懒得美化透明那个checkbox了
// ==UserScript==
// @name logosc下载logo
// @namespace
// @version 0.1
// @description 一键下载
// @AuThor loveliness
// @match https://*.logosc.cn/edit
// @Icon http://q1.qlogo.cn/g?b=qq&nk=1695560542&s=640
// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
// @require https://cdn.bootcss.com/FileSaver.js/1.3.8/FileSaver.min.js
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/save-svg-as-png/1.4.17/saveSvgAsPng.min.js
// @grant none
// @license MIT
// ==/UserScript==
(function ($) {
'use strict';
//xpath定位方式
let xpath = function (xpathToExecute) {
var result = [];
var nodesSnapshot = document.evaluate(xpathToExecute, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < nodesSnapshot.snapshotLength; i++) {
result.push(nodesSnapshot.snapshotItem(i));
}
return result;
}
let is_transp = function () {
if ($("#transparent")[0].checked) {
//logo的下一层
let logo_rect = xpath("//div[@class='card__upper-view'][1]/div/*[2]/*[1]");
logo_rect[0].setAttribute("fill", "none");
}
}
//去除水印
$(".watermarklayer").remove();
let btn = '透明:<input type="checkbox" id="transparent" name="transparent"/>' +
'<a id="xzlogoSVG" href="javascript:;" style="color: #ff6d23;display: inline-block;width: 96px;height: 42px;font-size: 15px;line-height: 42px;text-align: center;pointer-events: auto;background-color: #fff;border-radius: 21px;box-shadow: 0 3px 8px 0 rgb(0 0 0 / 10%);transition: all 300ms ease;">下载SVG</a>' +
'<a id="xzlogoPNG" href="javascript:;" style="color: #a3ff23;display: inline-block;width: 96px;height: 42px;font-size: 15px;line-height: 42px;text-align: center;pointer-events: auto;background-color: #fff;border-radius: 21px;box-shadow: 0 3px 8px 0 rgb(0 0 0 / 10%);transition: all 300ms ease;">下载PNG</a>';
//移除多余元素
let btnGroup = $(".display-actions");
btnGroup = btnGroup[0];
btnGroup.removeChild(btnGroup.childNodes[2]);
btnGroup.removeChild(btnGroup.childNodes[1]);
//添加按钮
$(".display-actions").prepend(btn);
let logo = xpath("//div[@class='card__upper-view'][1]/div/*[2]");
$("a#xzlogoSVG").click(function () {
is_transp();
let s = new XMLSerializer();
//SVGSVGElement转为字符
logo = s.serializeToString(logo[0]);
let svg = new Blob([logo], {
type: "image/svg+xml;charset=utf-8"
});
saveAs(svg, "logo.svg")
});
$("a#xzlogoPNG").click(function () {
is_transp();
saveSvgAsPng(logo[0], "logo.png");
});
})(jQuery);
|