python实现二次元图片展示(屏保)

下面实现内容:

程序的端口是https://www.dmoe.cc/random.php,也是这位谪仙人给的。需要一个参数:return=json。说明文档见:https://www.dmoe.cc/random.php

卷 Data 的文件夹 PATH 列表
卷序列号为 90AF-CB35
D:.
│  图片展示.py

└─temp

直接敲程序,还需要一个名为temp的文件夹。
请提前安装requestspygame模块。

首先放出备用程序:

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * 

url = 'https://www.dmoe.cc/random.php'
params = {'return':'json'}
response = get(url,params).json()
width,height,img = int(response['width']),int(response['height']),response['imgurl']

content = get(img)
number = randint(100000,999999)
with open('temp/%d.jpg' % number,'wb') as f:
    f.write(content.content)

pygame.init()
canvas = pygame.display.set_mode((width,height))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')

def handle():
    for event in pygame.event.get():
        if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
            pygame.quit()
            exit()
    
background = pygame.image.load('temp/%d.jpg' % number)    
while True:
    canvas.blit(background,(0,0))
    handle()
    pygame.display.update()

Okay,这里就不展示了,就是一个简单的屏保效果,关闭请ESC键。

再放出真实程序:

小歪API,https://api.ixiaowai.cn/api/api.php,直接发get请求即可,可以用Postman/APIfox调试。

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * 

content = get('https://api.ixiaowai.cn/api/api.php')
number = randint(100000,999999)
with open('temp/%d.jpg' % number,'wb') as f:
    f.write(content.content)

pygame.init()
canvas = pygame.display.set_mode((1920,1080))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')

def handle():
    for event in pygame.event.get():
        if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
            pygame.quit()
            exit()
    
background = pygame.image.load('temp/%d.jpg' % number)    
while True:
    canvas.blit(background,(0,0))
    handle()
    pygame.display.update()

更新:

想要会变化的?这里:

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * 

#创建pygame窗口
pygame.init()
canvas = pygame.display.set_mode((1920,1080))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')

#事件处理
def handle():
    for event in pygame.event.get():
        if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
            pygame.quit()
            exit()
      
while True:
    #下载图片
    content = get('https://api.ixiaowai.cn/api/api.php')
    number = randint(100000,999999)
    with open('temp/%d.jpg' % number,'wb') as f:
        f.write(content.content)
    #装填图片
    background = pygame.image.load('temp/%d.jpg' % number)  
    canvas.blit(background,(0,0))
    #设置窗口
    handle()
    pygame.display.update()
    pygame.time.delay(5000) #秒数是多少,就写几千秒,这是五秒一换

图片下载器:

from requests import get  # get请求方法
from json import dumps  # json序列处理
from random import randint  # 随机数
from os.path import exists  # 检测文件夹是否存在
from os import mkdir  # 创建文件夹

# 下载的爬虫
def download(path):
    url = "https://api.ixiaowai.cn/api/api.php"  # 请求URL
    content = get(url)  # 发送网络请求
    number = randint(100000, 999999)  # 生成随机数
    print("保存图片 >>> ./%s/%d.jpg" % (path, number))  # 输出保存信息
    with open("%s/%d.jpg" % (path, number), "wb") as f:  # 保存图片信息
        f.write(content.content)

# 主函数
def main(path):
    # 下载
    for i in range(1, int(input("您需要多少张图片 >>> ")) + 1):
        download(path)
    # 保留解释器窗口
    input("下载完成。")

# 保存路径的程序
if __name__ == "__main__":
    try:  # 包含异常
        folder = input("您需要将图片保存到哪里(输入相对路径) >>> ")
        if exists(folder):  # 有这个文件夹就直接保存
            main(folder)  # 下载
        else:  # 如果没有这个文件夹
            mkdir(folder)  # 创建文件夹
            main(folder)  # 下载
    except Exception as e:  # 提取异常基类
        print("ERROR:%s" % e)  # 输出异常

到此这篇关于python实现二次元图片展示(屏保)的文章就介绍到这了,更多相关python实现二次元图片展示内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 火遍全网的Python二次元特效轻松掌握

    导语 昨天下班,回家吃完饭就直接躺了,无聊的时候大家都会干什么呢? 当然是刷刷刷--抖音啦,嗯哼,然后返现了抖音上一款特效--「变身漫画」,简直好看到不行. 从明星到路人,堪称全民参与,刷了很多类似的视频发现效果竟然这么好看,来看下效果吧~ 登场的是张艺兴和戚薇. 可以看到,这个特效基于人物的面容,很好的转换成了二次元漫画风格. 尤其是眼睛的处理,把张艺兴慵懒的眼神.戚薇水汪汪的大眼睛,诠释的淋漓尽致. 当然发型也都是「满分转换」,分叉.造型等细节可以说是丝毫不差了. 突破「次元壁」的关键技术:

  • python实现二次元图片展示(屏保)

    下面实现内容: 程序的端口是https://www.dmoe.cc/random.php,也是这位谪仙人给的.需要一个参数:return=json.说明文档见:https://www.dmoe.cc/random.php. 卷 Data 的文件夹 PATH 列表卷序列号为 90AF-CB35D:.│  图片展示.py│└─temp 直接敲程序,还需要一个名为temp的文件夹.请提前安装requests.pygame模块. 首先放出备用程序: from requests import get fr

  • Win 2003系统也玩图片收藏屏保

    Windows Me/XP的屏幕保护程序可以将"我的文档"里收藏的图片做成屏保.但是在Windows其它版本的操作系统中却没有该功能.想将这个功能移植到Windows 2003中去吗?照着下面的步骤做就OK了. 第一步:在Windows Me的"X:\Windows\system"文件夹中,找到"IMAGING.DLL"文件和"图片收藏屏幕保护程序.scr"文件,然后拷贝到闪存上备用(其中X是Windows Me系统所在分区的

  • 利用Python制作自已的动态屏保

    我的环境 win10 python3.X pycharm 1.编写自己的屏保程序 注意:屏保程序打开就是全屏,可自动循环播放 我的样子如图 1.代码准备 Gitee下载 import os # 必须在加载 加之前 os.environ['SDL_VIDEO_WINDOW_POS'] = "%d, %d" % (0, 30) import random import pygame from pygame.locals import * from math import pi, sin,

  • python tkinter实现彩球碰撞屏保

    利用Tkinter实现彩球碰撞屏保 一.架构与思路 (1)主函数: main():通过类启动程序: (2)类: ScreenSaver():用于定义屏保和主画布,调用球创建.运动等函数: RandomBall():定义球的基本属性.球创建与运动函数: (3)对象:单个球,需要创建.运动(包括碰撞反弹),通过循环调用实现多个球并存的效果 create_ball():单个球创建函数: move_ball():单个球运动函数: (4)20181215更新:此处对原有屏保程序的退出环节进行了扩展,使用m

  • python实现屏保程序(适用于背单词)

    今天要给大家分享的是一款自己写的屏保程序,大学大家最头疼的就是四六级的考试了,上次考试做阅读的时候,情不自禁的发呆,想着如果我能在电脑上写一个屏保程序,那么就可以天天记单词了! 开始 首先:我们使用的是python自带的GUI模块,大部分操作网上都可以查到,对于写一些小的交互程序是完全够了.首先我们来定义一个类,这个类可以实列出一个屏幕显示对象,我把它称为Screensaver(). from tkinter import * import tkinter.font as tkFont # 导入

  • python tkinter实现屏保程序

    本文实例为大家分享了python tkinter实现屏保程序的具体代码,供大家参考,具体内容如下 该脚本摘录自:2014年辛星tkinter教程第二版 #!/usr/bin/env python from Tkinter import * from random import randint class RandomBall(object): def __init__(self, canvas, screenwidth, screenheight): self.canvas = canvas s

  • python利用tkinter实现屏保

    本文实例为大家分享了python利用tkinter实现屏保的具体代码,供大家参考,具体内容如下 import random import tkinter class RandomBall(): ''' 运动的球 ''' def __init__(self, canvas, scrn_width,scrn_heigh): ''' 球的构造函数 :param canvas: 传入画布,在画布上进行球的构造 :param scrn_width: 传入屏幕宽度 :param scrn_heigh: 传入

  • 在python下读取并展示raw格式的图片实例

    raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('cat.jpg') # 这里需要我们在当前目录下放一张名为cat.jpg的文件 img.tofile('cat.raw') #利用numpy中array的函数tofile将数据写入文件 #这时我们发现当前目录下新增了一个文件,名为cat.raw 有了raw文件,我们就可以读取这个文件,并显示出来. #

  • python实现屏保计时器的示例代码

    什么都不说先上图吧,Python初学者实现屏保计时器 原理:利用Python turtle库实现快速画图,每隔一秒钟擦除屏幕,然后获得电脑实时时间,再次画图,呈现动态时间. 关于数字如果画,可以把数字理解为一个晶体管状的8(7segments),不同数字都是其演变而来,只不过对不同数字实现抬笔,落笔动作,可以对不同 import turtle, time def drawGap(): turtle.penup() turtle.fd(5) def drawLine(draw): drawGap(

  • android实现点击图片全屏展示效果

    本文实例为大家分享了android实现点击图片全屏展示的具体代码,供大家参考,具体内容如下 MainActivity: public class MainActivity extends AppCompatActivity { private ImageView imageView; private Dialog dialog; private ImageView image; @Override protected void onCreate(Bundle savedInstanceState

随机推荐