如何安装Sakurairo_Vision
为了让主题zip包的体积控制在4MB以内,瞳宝把乱七八糟的图片和其它资源打包进了https://github.com/Fuukei/Sakurairo_Vision
反面教材
这不是WordPress主题,请不要像下面这位一样
正确使用方式
进入iro主题设置的关于主题页面,填写
自定义的资源需要自行寻找托管,推荐服务器/对象存储+CDN,而不是直接使用对象存储
把整个包传到对应位置即可
然后填写链接并保存
原神主题Sakurairo_Vision
标准Sakurairo_Vision包:https://github.com/Molyleaf/Sakurairo_Vision_Genshin
随机图和头像包:https://github.com/Molyleaf/Sakurairo_Vision_Genshin_Extension
通过在“关于主题”中设置前端资源路径到此资源包托管的路径生效
需要Sakurairo 2.4.6+
新增
- 在cursor文件夹内提供了更多光标(Afuoru和其他B站up主制作)
- 派蒙的画作系列表情(需要更改主题文件添加)
- 新的主页背景
- 原神主题社交图标包
额外
- 随机图和头像
更改
- 更改默认头像
- 更改登录界面背景和管理界面背景
- 更改评论区等级图标
光标设置
光标需要在iro主题设置→全局设置→光标选项中手动部署
所有光标都互相兼容,可以随意设置,不必考虑文件名
应用社交图标
在关于主题中选择此图标包之后,在“封面社交区域设置”选项中你会看到如下选项,选择珊瑚朱色后生效
使用足够新版本的主题且正确设置时你会看到
直接选择原神主题即可
添加派蒙的画作系列表情
标准Vision包的smilies文件夹提供了派蒙的画作系列表情
添加表情需要修改PHP文件,请注意刷新缓存
教程参见 https://kanochan.net/archives/1421.html
如果上方网站暂时无法访问可查看我们的网页缓存
制作自己的随机图API
可以应用在未登录用户的右上角头像和首页封面图上
托管图片
对比几种图片存储/分发方式
本地服务器 | 速度较慢,延迟较大 |
本地服务器+CDN | 更新方便,回源较慢 |
对象存储+CDN | 成本较高,时不时回源 |
对象存储 | 成本很高,容易被刷 |
图床 | 速度一般较慢 |
在选择适合你的方式之后,你会获得一份图片链接列表
建立API
接下来根据你的图片链接列表选择适合你的API代码
图片在本地服务器,经常更新,文件名混乱 | 读取所有文件名再返回 |
图片在CDN,文件名混乱但有图片链接列表 | 从文本读取链接返回 |
图片文件名整齐 | 直接返回随机数 |
以下是三种API的示例:
读取所有文件名再返回
1、新建xxx(你自己定义).php,放入以下代码。
2、新建图片文件夹,如images,放入随机图片。无需改名。
其中 代码第10行images/改为你的图片目录文件夹。12行也是
<?php
header('Cache-Control:no-cache,must-revalidate');
header('Pragma:no-cache');
header("Expires:0");
header("Access-Control-Allow-Origin:*");
//处理请求输出数据
//这将得到一个文件夹中的所有gif,jpg和png图片的数组
$rand=rand(0,1);
if($rand){
$localurl="images/*.{gif,jpg,png}";
}else{
$localurl="images/*.{gif,jpg,png}";
}
$img_array=glob($localurl,GLOB_BRACE);
//从数组中选择一个随机图片
$img=array_rand($img_array);
$imgurl=$img_array[$img];
$https=isset($_GET["https"])?$_GET["https"]:1;
if($https == "true"){
$imgurl='https://'.$_SERVER['SERVER_NAME'].'/'.$imgurl;
}else{
$imgurl='http://'.$_SERVER['SERVER_NAME'].'/'.$imgurl;
}
if(isset($_GET["type"])?$_GET["type"]:1=="json"){
$rTotal='0';
$gTotal='0';
$bTotal='0';
$total='0';
$imageInfo = getimagesize($img_array[$img]);
//图片类型
$imgType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));
//对应函数
$imageFun = 'imagecreatefrom' . ($imgType == 'jpg' ? 'jpeg' : $imgType);
$i = $imageFun($img_array[$img]);
//测试图片,自己定义一个,注意路径
for($x=0;
$x<imagesx($i);
$x++){
for($y=0;
$y<imagesy($i);
$y++){
$rgb=imagecolorat($i,$x,$y);
$r=($rgb>>16)&0xFF;
$g=($rgb>>8)&0xFF;
$b=$rgb&0xFF;
$rTotal+=$r;
$gTotal+=$g;
$bTotal+=$b;
$total++;
}
}
$rAverage=round($rTotal/$total);
$gAverage=round($gTotal/$total);
$bAverage=round($bTotal/$total);
$arr=array('ImgUrl'=>$imgurl,'Color'=>"$rAverage,$gAverage,$bAverage");
echo json_encode($arr);
exit();
}
//在页面显示图片地址
//echo $imgurl;
header("location:$imgurl");
从文本读取链接
<?php
//存有美图链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
$line=trim(fgets($fs));
if($line!=''){
array_push($pics, $line);
}
}
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
header('Content-type:text/json');
die(json_encode(['pic'=>$pic]));
default:
die(header("Location: $pic"));
}
?>
返回随机数
<?php
$randNum = mt_rand(1,图片数量);
header('HTTP/1.1 302 Moved Temporarily');
header('Location: 图片完整URL路径' . $randNum . '.webp');
?>
响应速度是第三种>第二种>第一种
API可以部署在任意有PHP环境的服务器上,也可以部署在云函数等环境
作者:秋尘 (molyleaf@warships.cn)
转载保留原文链接 https://mtpa.live/sakurairo-vision/
暂无评论内容