精华内容
下载资源
问答
  • 制作个人图片api接口

    千次阅读 2021-02-22 21:15:04
    制作个人图片api接口前言准备工作过程介绍操作过程上传图片到github仓库中在github中进行项目的发布编写php文件,...本篇文章是基于jsDeliver + github制作图片api接口 准备工作 一台配置好域名&证书的服务器 服务器

    前言

    当我们需要在网站上显示随机图片时,会用到api接口,这时可以自己做一个图片api接口,就不用担心使用别人的api接口不稳定或对图片不满意等情况了
    本篇文章是基于jsDeliver + github制作图片api接口

    准备工作

    • 一台配置好域名&证书的服务器
    • 服务器安装好基本的lnmp环境,需要php-fpm,新版php已集成(这里mysql用不上)
    • 一个github账号(需要科学上网)

    过程介绍

    • 上传图片到github仓库中
    • 在github中进行项目的发布
    • 编写php文件,引用jsDeliver上的文件
    • 将php文件上传到服务器中
    • 在nginx配置文件中配置好php-fpm相关配置

    操作过程

    上传图片到github仓库中

    在本地建一个放图片的文件夹,图片需为jpg格式,名称用数字排好序,注意该勾的勾上
    在这里插入图片描述

    下载GitHub Desktop,登录账号
    在GitHub Desktop中克隆自己已存在的仓库(要有README.md文件,仓库是公开的
    ps:可以专门弄一个放图片的仓库
    在这里插入图片描述
    选择已有的库,选择本地需要克隆的路径
    在这里插入图片描述

    没有仓库就新建一个,该勾的勾上
    在这里插入图片描述
    在这里插入图片描述

    同步操作
    ①写好说明②提交③更新到github
    在这里插入图片描述

    如果是在GitHub Desktop上新创建的仓库,第三步会有一个提示框,注意把勾去掉,那勾相当于代码私密,我们需要公开代码
    在这里插入图片描述

    在github中进行项目的发布

    仓库管理中点击release
    在这里插入图片描述
    ①填写版本号②描述说明③发布
    在这里插入图片描述
    到这里就可以引用资源了

    https://cdn.jsdelivr.net/gh/你的github用户名/你的仓库名@发布的版本号/文件名
    例:https://cdn.jsdelivr.net/gh/bananaYH/images@0.33/img/2.jpg

    不加版本号等同于默认访问https://cdn.jsdelivr.net/gh/bananaYH/images@master/img/2.jpg
    现github默认分支名是main,若要不加@版本号访问则将main重命名为master
    不加@,好像jsDeliver那边不能及时更新过来,建议还是加上@,能够及时更新

    编写php文件,引用jsDeliver上的文件

    <?php
    $rand = rand(1,3);
    $url = 'https://cdn.jsdelivr.net/gh/bananaYH/images@0.33/img/'.$rand.'.jpg';
    $img = file_get_contents($url,true);
    header("Content-Type: image/jpeg;");
    echo $img;
    ?>
    

    rang随机产生数字,按图片编号填写
    填写好url

    编辑好,用FTP上传该php文件到域名根目录下

    在nginx配置文件中配置好php-fpm相关配置

    编辑nginx.conf文件

    vim /www/server/nginx/conf/nginx.conf
    

    在配置了443和ssl的server中加上以下代码

    location ~ \.php$ {
            root           /www/wwwroot;
            fastcgi_pass   unix:/tmp/php-cgi-74.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/wwwroot$fastcgi_script_name;
            include        fastcgi_params;
    }
    

    root 指定php的根目录,自行更改
    fastcgi_pass 监听端口(两种形式tcp:127.0.0.1:9000或unix)tcp注意要开防火墙,下面详细解释
    fastcgi_indexnginx 默认首页文件
    fastcgi_param 脚本文件请求的路径,更改/www/wwwroot为根目录路径
    include 引入fastcgi的配置文件

    参考
    在这里插入图片描述
    使用unix
    查看php-fpm.conf文件,不知道在哪输查找命令

    find / -name php-fpm.conf
    

    在这里插入图片描述
    将.sock的路径复制到nginx.conf中的fastcgi_pass即可

    使用tcp方式
    在php-fpm.conf中将.sock路径更改为127.0.0.1:9000即可

    注意事项!!!
    php-fpm.conf和nginx.conf文件中的user是一致的,不一致会出现权限问题
    当两边user不为root时,根目录最好不要再/root下面,会有权限问题

    重启Nginx服务

    service nginx restart
    

    测试

    测试php配置

    创建编辑index.php文件

    <?php 
        phpinfo(); 
    ?>
    

    将index.php文件放到网页根目录下

    https://域名/index.php 访问

    出现php页面即为nginx配置php成功
    在这里插入图片描述

    测试图片api接口

    访问并运行php文件,这里假设php文件名为images.php

    https://域名/images.php

    正常情况是和引用jsDeliver的资源一样,会显示一张图片
    在这里插入图片描述

    展开全文
  • php图片API

    2018-10-22 21:28:02
    随机调用当前目录下的gif/jpg/png文件,将其输出。可用于制作图片api。如本人的随机网站背景就是使用这种方法调用的。
  • API制作步骤1.准备工作2.图片上传3.编写代码4.访问random.php域名5.转载须知 1.准备工作 准备域名(有一个即可) 服务器 学生机即可 可上传图片CDN的服务器推荐:又拍云 2.图片上传 将自己喜欢的图片上传到CDN服务器 ...

    原作者:爱吃猫的鱼

    1.准备工作

    • 准备域名(有一个即可)
    • 服务器 学生机即可
    • 可上传图片CDN的服务器推荐:又拍云

    2.图片上传

    将自己喜欢的图片上传到CDN服务器
    

    3.编写代码

    • 准备两个文件 img.txt 和random.php 文件
    • 写入一下代码,上传到服务器
    /* img.txt 文件里面编写从又拍云获取的路径 要求所有图片的路径 一行一个*/
    /* random.php 文件中的代码如下 复制粘贴即可 */
    <?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"));
    }
    ?>
    

    将两个文件上传到服务器的域名文件下即可

    4.访问random.php域名

    https://你的域名/(子文件夹)/random.php
    文件夹和文件名称可以自定

    5.转载须知

    • 转载请标明出处
    # 商业转载请联系作者获得授权,非商业转载请注明出处。
    # For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.
    # 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
    # 作者(Author):Rbozo
    # 链接(URL): https://mr90.top/blog/wx-page/api.html
    # 来源(Source):R's Blog
    
    展开全文
  • 写在前面 之前尝试过直接用服务器跑...为了尽量让图片保持1920*1080的比例,用opencv调整分辨率,同时想要加快访问也可以压缩图片,不过我用的是无损压缩,相当于没变。 我直接将图片放在了本地git目录下,同时输出访问

    写在前面

    之前尝试过直接用服务器跑,但是我可怜的阿里云学生机那1M带宽单图还好,多图加载10s+,后来用vultr的vps试了试,虽然带宽很大,国内访问依旧很慢。

    突然想起都是用 jsdelivr 引用css和js文件,为什么不直接引用图片呢?

    开始干活

    1、首先找到想要的图片

    在这里插入图片描述

    2、改变图片分辨率+push到github

    为了尽量让图片保持1920*1080的比例,用opencv调整分辨率,同时想要加快访问也可以压缩图片,不过我用的是无损压缩,相当于没变。

    我直接将图片放在了本地git目录下,同时输出访问链接到 img.txt 中:

    import os
    import cv2
    
    file_path = "D:\Git\git_res\CDN\images\\"
    web_path = "https://cdn.jsdelivr.net/gh/SukiEva/CDN/images/"
    
    def img_resize(image_path):
        image = cv2.imread(file_path+image_path)
        height, width = image.shape[0], image.shape[1]
        # 设置新的图片分辨率框架
        width_new = 1920
        height_new = 1080
        # 判断图片的长宽比率
        if width / height >= width_new / height_new:
           img = cv2.resize(image, (width_new, int(height * width_new / width)))
        else:
           img = cv2.resize(image, (int(width * height_new / height), height_new))
        if ".jpg" in image_path:
            cv2.imwrite(file_path+image_path, img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
        elif ".png" in image_path:
            cv2.imwrite(file_path+image_path, img, [cv2.IMWRITE_PNG_COMPRESSION, 0])
    
    if __name__ == '__main__':
        filelist = os.listdir(file_path)
        with open('E:\桌面\img.txt','w') as f:
            for file in filelist:
                img_resize(file)
                f.write(web_path+file+'\n')
    

    跑完代码将git同步到github中,同时桌面上的 img.txt 中也有了我们需要的链接。
    在这里插入图片描述

    3、写一个读取链接并重定向的 random.php:
    <?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"));
    }
    ?>
    
    4、将img.txt和random.php放到一个网站的目录下

    在这里插入图片描述

    5、访问 域名/random.php即可
    展开全文
  • 随机生成图片API大全

    千次阅读 2020-11-10 16:07:04
    使用教程:随机生成图片api官网:https://picsum.photos 易于使用,时尚的占位符 只需在我们的URL后添加所需的图像大小(宽度和高度),您将获得随机图像。 https://picsum.photos/200/300 要获得方形图像,...

     

    使用教程:随机生成图片api官网:https://picsum.photos

     

    易于使用,时尚的占位符

    只需在我们的URL后添加所需的图像大小(宽度和高度),您将获得随机图像。

    https://picsum.photos/200/300

    要获得方形图像,只需添加尺寸即可。

    https://picsum.photos/200

    具体图片

    通过添加/id/{image}到url的开头来获取特定的图像。

    https://picsum.photos/id/237/200/300

    您可以在此处找到所有图像的列表

    静态随机图像

    通过添加/seed/{seed}到url的开头,每次都基于种子获得相同的随机图像。

    https://picsum.photos/seed/picsum/200/300

    灰阶

    通过?grayscale在网址末尾获取灰度图像。

    https://picsum.photos/200/300?grayscale

    模糊

    通过将附加?blur到网址的末尾来获得模糊的图像。

    https://picsum.photos/200/300/?blur

    您可以通过在1和之间提供一个数字来调整模糊量10

    https://picsum.photos/200/300/?blur=2

    高级用法

    您可以结合使用以上任何选项。

    例如,要获得灰度和模糊的特定图像。

    https://picsum.photos/id/870/200/300?grayscale&blur=2

    要在浏览器中请求多张相同大小的图像,请添加random查询参数以防止图像被缓存:

    <img src="https://picsum.photos/200/300?random=1">
    <img src="https://picsum.photos/200/300?random=2">

    如果需要文件结尾,则可以添加.jpg到url的结尾。

    https://picsum.photos/200/300.jpg

    要获取WebP格式的图像,可以将其添加.webp到URL的末尾。

    https://picsum.photos/200/300.webp

    列出图片

    使用/v2/list端点获取图像列表。

    https://picsum.photos/v2/list

    默认情况下,API每页将返回30个项目。

    要请求另一个页面,请使用?page参数。

    要更改每页的项目数,请使用?limit参数。

    https://picsum.photos/v2/list?page=2&limit=100

    Link头包括关于下一首/上页分页信息

    [
        {
            "id": "0",
            "author": "Alejandro Escamilla",
            "width": 5616,
            "height": 3744,
            "url": "https://unsplash.com/...",
            "download_url": "https://picsum.photos/..."
        }
    ]

    图像细节

    使用/id/{id}/info端点获取有关特定图像的信息。

    https://picsum.photos/id/0/info

    您可以通过查看Picsum-ID标题或User CommentEXIF元数据中的字段来查找图像的ID 。

    { “id”: “0”, “author”: “Alejandro Escamilla”, “width”: 5616, “height”: 3744, “url”: “https://unsplash.com/…”, “download_url”: “https://picsum.photos/…” }

     

    本文部分有删减,更多api接口请看原文:https://www.fang1688.cn/study-code/103.html

    展开全文
  • 搭建一个最简单的首页随机图片api

    千次阅读 2021-01-24 00:31:25
    搭建一个最简单的首页随机图片api 1. 引言 首页的图片每天都是重样的是在是看得心烦意乱,就希望每次访问网页都能看到不一样的风景,既然是用Typora+PicGo写博客,图片通过JSDlivr全球分发(其实是心疼CDN的钱,毕竟...
  • 如何自制图片api接口

    千次阅读 2020-06-01 08:10:05
    下面分享两种自制图片api接口的方法: 方法如下: https://www.datealive.top/2020/05/imageapi.html
  • JavaWeb:JSP自建图片API

    千次阅读 2021-01-24 18:21:57
    本项目主要用于使用 JSP 来建立属于自己的随机图API图片的来源主要是运用了爬虫,虽然java也可以编写爬虫,但相对于Python来说显得有些复杂,所以在本项目中,图片的获取主要使用Python来获取。
  • 微信小程序图片四个API用法

    千次阅读 2018-07-09 11:31:36
    小程序的图片API主要是 wx.chooseImage 选择图片 wx.previewImage 预览图片 wx.getImageInfo 获取图片的信息 wx.saveImageToPhotosAlbum 保存图片 以下通过一个案例是四种API的使用方法 描述: 1. 首先选择...
  • Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...
  • ArcGIS API for JavaScript 4.x 基础之绘制点、线、面、标注、图片的完整代码;
  • 今天在教大家自建一个随机图片api 需要自己图片地址 也比较简单 教程:新建index.php文件把下面代码放进去,然后同一目录下创建个img.txt文件把图片链接加在里面,如下面图片那样放。 <?php //存有美图链接的...
  • 网站ico图片api

    2016-02-11 12:00:06
    今天主要是分享一下怎么获取网站ico图片,经常看到网站的外部链接中...网站ico图片3个api ①google: http://www.google.com/s2/favicons?domain=[网站域名] 实例如:http://www.google.com/s2/favicons?domain=www.phpso
  • 制作天气接口API服务器【完】

    千次阅读 2019-10-20 20:24:59
    结构 backend : - apis : - views : weather.py __init__.py admin.py apps.py models.py urls.py ...# 图片资源 ...'api/v1.0/' ...天气接口API服务器制作完成,就差个前端展示啦
  • abort(404, message="api key {} doesn't exist".format(api_key)) 1.7 debug选项的开启 debug的作用是,如果你修改了app.py文件,并且保存之后,就会立即重新加载一遍app.py 一般来说,正式环境下不能打开...
  • 生成自己API文档的两种方法 方法一:命令行生成 1. 在IDEA中找到文件,右击选择【show in Explorer】,进入文件所在目录下; 2. 双击路径输入【cmd】,进入命令行,输入 javadoc -encoding UTF-8 -charset UTF-8...
  • 这个播放器是基于 Windows API 制作的 音乐播放器, 有音量控制 播放进度, 播放时间, 暂停, 恢复, 打开选择音频文件, 播放进度可以拖动快进快退, 界面截好图了,但是好像CSDN没有上传资源图片的, 界面就是 ...
  • 大家可以看看效果,顺便可以关注一下我的公众号“无情小徐” ...第五步 看图片上的文字内容进行配置 提交的过程中可能会出现黄色或者红色的错误提示 重新多提交几遍即可解决。 第六步 这个是申请a
  • NULL 博文链接:https://javaflex.iteye.com/blog/1262565
  • 这是一个特别整理API网站列表,身为一名高级工程师,时常会为了制作一些小作品寻找API老半天,所以就稍微整理了一下有什么API网站,也避免我自己的书签列表一直爆满,当然底下的API网站我并没有每个都练习过以及使用...
  • API 每日一图API

    千次阅读 2020-08-20 17:52:33
    皓月自己整理制作的一个api接口,从8.1日开始正式服役. 每天给用户提供一张不同的图片,每个月有一个属于自己的主题。 支持https。 api地址:https://api.mfstudio.cc/motu/ 2 必应每日一图API 图片来源是bing每日...
  • 说明:随机图片壁纸api,调用的是新浪api,速度不用担心,图片资源也很多,就是因为自己手里有自己感觉还不错的图片资源,才写了这个api,所以觉得可以的话可以调用这个接口。 手机随机动漫妹子api接口:...
  • VC/C++源码,图形处理,API,雪花 VC使用Win32 API 制作的雪花贺卡封面,源码内包括两个贺卡,一个是飘雪场景,另一个则是烟花爆炸场景,同时制作了一个贺词模块,可以在封面上滚动,漂亮的贺卡界面引用的是一张图片,...
  • 基于laravel制作API接口

    千次阅读 2020-05-31 17:04:04
    基于laravel制作API接口 关于API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或...
  • 使用百度文字识别API进行图片中文字的识别

    千次阅读 多人点赞 2019-06-17 22:12:15
    今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片转文字的小应用。 一. 申请Baidu通用文字识别接口。 1.先在百度AI开放平台注册账号(点击这里进入百度智能云)。一般使用百度账号即可。 2.注册成功...
  • 通过 .net core 3.1 实现基本购物网站 EFCore实现实体类,WebAPI实现业务操作,mvc实现页面展示 vs2019,安装Core 3.1,vs2019实现的代码
  • ArcGIS API中PictureMarkerSymbol使用GIF图片

    千次阅读 2020-04-14 15:58:21
    在前几天,ArcGIS API for JavaScript发布了新版本,也就是4.15版本。其中有一个小功能更新,我认为还是挺有用的,可以使我们地图的表现形式更加丰富。这个小的功能更新就是PictureMarkerSymbol支持GIF动态图和PNG...
  • 免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
  • 如果没有指定,Sanic会创建自己的事件循环。 protocol(默认HttpProtocol):asyncio.protocol的子类。 默认情况下,Sanic在主进程中只侦听一个CPU内核。要启动其它核心,只需指定run参数中进程的数量。 app....
  • 免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,359
精华内容 18,543
关键字:

如何制作自己的图片api