Saber 酱的抱枕

Fly me to the moon

07/5
2016
软件

0w0~软件推荐:waifu2x-caffe(图像缩放与/或降噪)

0w0 呐,高考都过去快一个月了才意识到已经好久没来这里了w
其实今天来是想推荐一款软件的。之前雪见大大有提到可以用于图像放大的软件 PhotoZoom Pro。正巧我最近也发现了这样的软件,就是标题提到的 waifu2x-caffe。读了 Readme 后得知作者是在 waifu2x 的基础上结合 caffe (好像是个非常高大上的东西)制作了这款软件,甚至包括对 CUDA 的支持。

Github 链接:
waifu2x-caffe
waifu2x
caffe
母熊下载地址:(pw=JPEG)
ver. 1.1.3.2
ver. 1.1.4
(注意:如果电脑不支持 CUDA,请下载 1.1.3.2 版,详见以下说明)
更新ver. 1.1.7.1,请下载这个版本。

与使用 Photoshop 或 PhotoZoom Pro 放大相比,waifu2x-caffe 最大的优势其实不在于单纯地放大图像,而在于能在一定程度上去除图像噪声从而让图像变得更清晰。由于不了解三者对图像缩放的具体方案,我不打算对三者单纯放大得到的图像的质量优劣进行评价。

Ps 2015 支持的重采样方案

Ps 2015 支持的重采样方案


其实光是 Ps 就已经让我懵比了。
启动后首先要点击右侧的 App Setting/应用设置。
Settings of waifu2x-caffe

Settings of waifu2x-caffe


如果电脑支持 CUDA,右上角可以保持默认设置(cuDNN 优先),否则改为使用 CPU。1.1.4版选择使用 CPU 的话会 FC。1.1.3.2版设置界面作者没有完全汉化,可以参看上图完成其他设置。1.1.7.1版使用时基本没有问题。完成设置后就可以开始操作。
比如有这样一张图片:
mosaic_panda_small
可以单纯放大到两倍大小:
mosaic_panda_large
可以去除噪声:
aws_panda_small
可以降噪+放大->高清大图(好吧因为原图质量太差所以……):
oh!
不过参数还是要自己调整的啦,不同图片适合的参数并不完全一样。另外取消功能似乎不太好用(1.1.3.2版,1.1.4版会 FC 所以还没测试),所以要慎重取消。
iTunes 的专辑封面从600*600扩大到1200*1200,再到现在的1400*1400,分辨率是变大了,但是图像质量却下降得厉害,1:1查看可以发现非常明显的 jpeg 噪点……最不能忍的是现在从 iTunes 获取的1200*1200封面的质量也不如2013/4获取的。在没有其他高清封面来源的情况下,也只能用 waifu2x-caffe 处理了。

闪轨Ⅱ专辑封面测试(为了公平起见,统一测试尺寸为1200*1200的图片):pw=JPEG

顺手贴一个:百度云分享文件模态框弹出时在 Console 里运行这个就能自定义提取码:

javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).prototype.makePrivatePassword=function(){return prompt("请输入自定义的密码","****")}

提取码限定字符数为4,ASCII字符算1个,CJK字符(包括CJK标点)算3个(所以可以把「懵B」「ね。」设为提取码 233333333)。

Fiddler 设断点改提取码的方法不是很好用……

就酱~w

0w0~软件推荐:waifu2x-caffe(图像缩放与/或降噪)

07/5
2016
学习

input输入时对值和颜色的处理

input输入时对值和颜色的处理

input输入时对值和颜色的处理

在表单里添加input的预设值是常见的做法。当用户点击输入框之后,预设值消失,同时文字颜色也要加深,变成正常的颜色。如果用户清空了输入的内容,则恢复默认值。

以前我做这个效果用的代码比较繁琐,现在有更简单的方法。下面的js代码直接写在input标签里就可以了。

onfocus="if(this.value==this.defaultValue){this.value='';this.style.color='#333'};" onblur="if(this.value==''){this.value=this.defaultValue;this.style.color='#aaa'}"

这里面有个defaultValue,这个属性是浏览器自动保存的,我们可以直接拿来用。以前我都是把默认值用js保存到一个变量里的,那样就麻烦了。

input输入时对值和颜色的处理

07/2
2016
学习

解决iphone上的Safari会把表单按钮变成默认样式的办法

左:Safari上的按钮表现
右:pc和安卓上的按钮表现

我们在网站上做表单的时候,经常会给按钮自定义一些样式来美化它。例如我们把按钮做成了上图右侧的样式,在pc上和安卓的浏览器上看都很ok。

但是在睾贵的iphone上的睾贵的Safari浏览器上,按钮是有浏览器内置的默认样式的。Safari的内置样式会对我们自己做的按钮进行修改:

1.按钮的高度会改变
2.按钮有了大圆角
3.背景会在我们设置的背景色的基础上添加渐变效果。

解决办法是在css里将按钮元素的-webkit-appearance属性的值设置为none,这样可以取消浏览器对按钮应用内置样式。

input[type="button"],input[type="submit"],input[type="reset"] {-webkit-appearance: none;}

其实这个还不是最糟心的。前天发现某手机站上有些文字在Safari上特别的大,主要出现在文字太多一行放不下的情况。浏览器都会自动把文字换行,但是Safari上自动换行之后这行文字字号变得特别的大。这问题又是只在睾贵的Safari上出现。虽然这可能和网页本身有关系,但我一直没弄明白原因,百度谷歌搜来搜去,也没找到可以解决这个问题的办法。加班整了两小时,毫无进展。最后只能针对iphone特别设置一些样式,从表面上解决了问题。

解决iphone上的Safari会把表单按钮变成默认样式的办法

06/29
2016
游戏

长歌相知PVE奶

剑网三 长歌门 相知 琴奶 琴萝pve

这两天玩琴奶,逐渐有了很多疑惑。今天自己整理了一些东西,又去贴吧问了些问题,记录下来。


技能:
徽 群奶 读条
宫 单奶 读条
羽 单奶 无读条但占用gcd
商 hot 无读条
角 hot 无读条

梅花三弄 为友方目标套盾,持续8秒。如果人物6000治疗量的话,不会心接近5000盾量,会心则有1W多。如果T自己开了减伤技能,则boss伤害会在经过减伤计算后再打在盾上。治疗会优先加满角色本身的血,多余的才会给盾恢复。梅花三弄的机制可以参考此处
高山流水 允许在移动中和青霄飞羽时使用两个读条技能(徽、宫)
阳春白雪 使宫、徽会心几率提高5%,最多累加三次。释放阳春白雪时还会对我方目标产生微量治疗。
切换的话曲风满了就能切。但是切换的时候(使用曲风这个技能),第一次是切换曲风,曲风效果并没有生效。之后再使用曲风才触发曲风效果。

疏影横斜 充能,建立一个影子并持续治疗(影子一直读宫)。在队伍里,如果自己有目标,影子会给目标回血。如果自己没目标,则会给团队血量最低的人加血。
孤影化双 复制自身的血蓝和cd,期间再使用此技能即可使自己恢复到创建时的状态。对歌奶来说这玩意没啥用……对莫问倒还有用,可以在爆发前创建一个。


歌奶装备选择,在保证一定治疗量的前提下,堆加速和双会。

角色的加速高了可以使技能读条时间变短(所以徽每跳间隔也会变短),并且也会使hot持续时间减少(如18秒减少到15秒),所以hot的每跳间隔也会减少。710加速是毕业要求。


我是走的盾流,记录一下手法:

开战前先刷曲风开梅花三弄。

开战后起手先给主T上梅花盾。

然后给T挂两个个hot,再读宫,激发hot传染效果。如果不能传染则一直读宫直到成功为止,不用换人试。传染之后仍然可以继续对T读宫触发传染。

这些hot传染完之后放出影子,全程影子不断。另外尽量全程保持T身上有盾。

之后对T读宫不断触发传染效果,需要给其他人加血时再读徽群奶或单加。

如果要给某人大加,先给他套盾,然后挂hot,再用羽炸。羽每次只炸掉一个hot,所以两个hot可以炸两次。6000治疗量不会心大概能秒回4000多,会心大概接近9000。


关于hot和传染:

商和角可以同时给同一个人挂。
如果身上有两个hot,传染后会同时传染两个hot效果。
如果宫使得hot传染,那么该hot会重置持续时间(默认18秒)。
如果给一个人挂了hot并且传染了,在效果结束前仍然可以再用这个人挂hot传染。就是触发这个人的传染效果之后还可以一直对他读宫,再次触发。每次触发传染都会重置hot持续时间。
可以同时给不止给一个人挂hot传染。就是说可以同时存在多个人的hot传染效果,不过一般没有时间去这么操作,所以只选一个人用他传染hot就行了。

长歌相知PVE奶

06/28
2016
学习

html5中input的一些新特性

刚才看《JavaScript高级程序设计》,读到input控件的部分,看到了html5中对input增加了一些新的功能,试验了一番,这些实在让人excited!下面发点测试图。

1.新的type类型。

input有些type我们是很熟悉的,例如text、password等。html5中增加了一些新的type类型,而且这些type类型基本都可以承担一部分表单验证的工作,很实用。这些新的type有:
"email"、"url"、"number"、"range"、"datetime"、"datetime-local"、"date"、"month"、"week"、"time"。

举一些例子:

email类型,必须要有@符号:
html5中input的一些新特性

url类型,必须要有协议:
html5中input的一些新特性

number类型,只能输入数字:
html5中input的一些新特性

date类型,只能输入日期:
html5中input的一些新特性

range类型,会出现一个滑块以调节:
html5中input的一些新特性

需要注意的是,浏览器(如果支持的话)会对这些控件的值进行检查。有些类型是在输入的时候进行检查,有些则是在提交表单时进行检查。所以,如果input没写在form里,有些类型可能起不到限制作用。

2.新的属性。

如required属性,当表单提交时,这个控件的内容不能为空。
html5中input的一些新特性

对于数值类型的控件,还可以设置最小值、最大值、增量值等,如:

<input type="number" min="60" max="100" step="5">

3.新的方法。

主要是stepUp()和stepDown()方法。这两个方法分别使input控件的值增加或减少。不带参数默认为1,也可以带参数。如对range的调节:

html5中input的一些新特性

html5中input的一些新特性

06/25
2016
学习 软件

网站地图生成助手js版

// ==UserScript==
// @name         网站地图生成助手(Clearision主题专用)
// @namespace    https://saber.love
// @version      0.1
// @description  自动生成当前网页的sitemap信息(文章页)
// @author       saber
// @match        https://saber.love/*.html
// @grant        none
// ==/UserScript==

var sitemap_url = window.location.href; //url
var sitemap_pri = "0.5"; //权重
var changefreq = "Always"; //更新频率
var sitemap_year = new Date(); //年份
sitemap_year = sitemap_year.getFullYear(); // 因为主题生成的网页里没有包含年份,所以取当前年份
var sitemap_time_info = document.getElementsByClassName("post_time")[0].innerText.replace(/\n/g, "").replace(/\t/g, "").replace("/", "-").replace(" ", "");
var sitemap_date, sitemap_time; //时间和日期
if (sitemap_time_info.length === 9) {
	sitemap_date = sitemap_time_info.substring(0, 4).replace("-", "-0"); //天数在10号以下时前面没有0,所以需要补上0
	sitemap_time = sitemap_time_info.substring(4, 9);
} else if (sitemap_time_info.length === 10) {
	sitemap_date = sitemap_time_info.substring(0, 5);
	sitemap_time = sitemap_time_info.substring(5, 10);
}
window.stop(); //停止页面加载,可以节省图片流量
var this_sitemap_result = ("<url>" + "\r\n" + "<loc>" + sitemap_url + "</loc>" + "\r\n" + "<priority>" + sitemap_pri + "</priority>" + "\r\n" + ("<lastmod>" + sitemap_year + "-" + sitemap_date + "T" + sitemap_time + ":00+00:00</lastmod>") + "\r\n" + "<changefreq>" + changefreq + "</changefreq>" + "\r\n" + "</url>" + "\r\n"); //拼接出本页面的sitemap信息
localStorage.setItem("mymap", localStorage.getItem("mymap") + this_sitemap_result); //把本次的结果追加存储
var next_page = document.querySelector("#p_n_r a");
if (!!next_page) { //如果有下一页就自动打开下一页
	next_page.click();
} else { //如果没有下一页就弹出结果
	document.write("<xmp>" + localStorage.getItem("mymap") + "</xmp>");
	alert("sitemap信息生成完毕");
	localStorage.setItem("mymap", ""); //清空结果
}

本文代码是针对我这个网站写的,如果其他网站想要使用,可以对照自己网站进行修改。

使用方法:
在油猴里新建一个脚本,把下面的代码粘贴进去保存即可。之后打开或刷新本站任意一个网页,代码就会从这个页面一直抓取到最新的一篇文章,自动生成sitemap信息并存储到localStorage里。抓取完成后弹窗提醒,并把抓取结果输出到页面上。这样我们只需要等结果出来,最后复制结果就行了。

注意:
由于文章信息里没有包含年份,所以年份去的是当年。如果如在当年去获取之前的文章,那么年份就是错的。比如2018年1月去获取2017年12月的,结果会显示2018年12月。这个可以在获取后批量替换下。

使用之后记得关掉这个油猴脚本,以免影响正常浏览。

网站地图生成助手js版

06/24
2016
学习

JavaScript无缝滚动一例

<div id="demo">
	<div class="scrollbox">
		<div id="demo1">
			<a href="">雪见雪见雪见雪见雪见雪见</a>
			<a href="">sabersabersabersaber</a>
		</div>
		<div id="demo2"></div>
	</div>
</div>
<style type="text/css">
	#demo{width: 300px;overflow:hidden;} /*最外层box的宽度可以随意设置,但必须小于里面demo(如demo1)的宽度,否则滚动完一次会停止*/
	#demo .scrollbox{width:1000%;}/*设置一个较大的范围,保证其宽度大于内部两个div宽度之和(如果宽度不够两个div就会错开)*/
	#demo1,#demo2{display: inline-block;}/*浮动或设置display以保持在同一行*/
</style>
<script type="text/javascript">
	var demo = document.getElementById("demo");
	var demo1 = document.getElementById("demo1");
	var demo2 = document.getElementById("demo2");
	demo2.innerHTML=document.getElementById("demo1").innerHTML;
	function Marquee(){
		if(demo.scrollLeft-demo2.offsetWidth>=0){
			demo.scrollLeft-=demo1.offsetWidth;
		}
		else{
			demo.scrollLeft++;
		}
	}
	var myvar=setInterval(Marquee,30);
	demo.onmouseout=function (){myvar=setInterval(Marquee,30);}
	demo.onmouseover=function(){clearInterval(myvar);}
</script>

我解释下dom结构:
id#demo是最外层,设置滚动区域的宽高。此代码中它的宽度需要比滚动内容的宽度小。
class.scrollbox是容纳两个滚动容器的,它的宽度需要设置得比较宽,以保证能容纳两个滚动内容。
id#demo1和#demo2就是滚动内容了,通过设置浮动或display让他们保持在同一行,循环滚动。

示例中给出的css样式都是基础的必须样式,如果需要其他样式请自行添加。

JavaScript无缝滚动一例

06/23
2016
ACG

记一部漫画——《Balance Policy平衡政策》

Balance Policy平衡政策 吉富昭仁

《Balance Policy平衡政策》在线阅读

《Balance Policy平衡政策》是一部性转+百合元素的漫画。虽说是限制级,不过也就是R15的样子吧。

福利并不重要,重要的是,女主(?)超萌的~作者把一个带着孩子气的普通少女,塑造的很好~另外作者吉富昭仁的画风也很棒,线条简洁但表现力很强。人物线条也比较圆润,用在女孩子身上特别的合适。

Balance Policy平衡政策 吉富昭仁Balance Policy平衡政策 吉富昭仁

故事的起因是这样的,未来少子化问题严重,并且男女出生比例也极不平衡。为此国家研究了一项技术,把一些少年改造成少女。而我们的女主角(?)健二就是一位适格者。

经过改造之后,健二回到了家乡。此时她的心理是很矛盾的,虽然她知道自己的身体已经变成了少女,但是心理还没有完全适应,同时也担心这会让她和以前的好朋友变得陌生,所以她不准玩伴把她当做女孩子来看待。

她去打球,结果球根本扔不远;去溪边跳水,结果最后也不敢跳。虽然身体很诚实,嘴上却不肯承认。想象一下,一个可爱的女孩子,双手叉腰站在你面前,严肃的说:“不准把我当成女孩子!”。啊,老夫的心都要融化了~

那么,健二是如何慢慢接受自己作为女孩子的身份呢?

她和以前的小伙伴之间的感情又会有怎样的转变呢?

当健二以女孩身份面对以前她暗恋的女生和暗恋她的女生时,健二和她们之间又会有怎样的故事呢(百合赛高顺便导演速度把那个玩伴隙间掉 ←此人已坏

总之这部漫画挺有意思的,大家有空不妨一看,也许你会喜欢上女主哦。

记一部漫画——《Balance Policy平衡政策》