Skip to main content

DynRender-skia

使用skia渲染BiliBili动态 更新页面效果的优先级会很低

注意

Linux用户在导入skia-python包时可能会遇到以下报错

libGL.so.1: cannot open shared object file: No such file or directory

解决方法

ubuntu用户

apt install libgl1-mesa-glx

ArchLinux用户

pacman -S libgl

centos用户

yum install mesa-libGL -y

使用方法

安装必要依赖

pip install dynamicadaptor dynrender-skia

测试

import httpx
import asyncio
import skia
from dynrender.Core import DynRender
from dynamicadaptor.DynamicConversion import formate_message


# 定义异步函数,用于执行Web测试
async def web_test():
    dyn_id = "440646043801479846"
    url = f"https://api.bilibili.com/x/polymer/web-dynamic/v1/detail?timezone_offset=-480&id={dyn_id}&features=itemOpusStyle"
    headers = {
        "referer": f"https://t.bilibili.com/{dyn_id}",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"
    }

    # 发起HTTP请求并解析JSON响应
    message_json = httpx.get(url, headers=headers).json()

    # 格式化消息数据
    message_formate = await formate_message("web", message_json["data"]["item"])

    # 使用DynRender执行动态渲染
    img = await DynRender().run(message_formate)

    # 将渲染后的图像转换为Skia Image对象
    img = skia.Image.fromarray(img, colorType=skia.ColorType.kRGBA_8888_ColorType)

    # 保存图像为PNG文件
    img.save("1.png")


# 当文件作为主程序执行时
if __name__ == "__main__":
    asyncio.run(web_test())

效果展示

示例图片

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynrender_skia_opt-0.3.8.tar.gz (366.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynrender_skia_opt-0.3.8-py3-none-any.whl (371.0 kB view details)

Uploaded Python 3

File details

Details for the file dynrender_skia_opt-0.3.8.tar.gz.

File metadata

  • Download URL: dynrender_skia_opt-0.3.8.tar.gz
  • Upload date:
  • Size: 366.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.8.2 CPython/3.10.12

File hashes

Hashes for dynrender_skia_opt-0.3.8.tar.gz
Algorithm Hash digest
SHA256 bf403100175ba2347d185e1ecb5c4a216cfcc27d4b291e01026851e45535470e
MD5 c24f36a4656e1ad04c8f12c8da2454e8
BLAKE2b-256 fc16204a44b27b293ae6524898ded0500e18df2eee208ea3f956be22bff4d5e6

See more details on using hashes here.

File details

Details for the file dynrender_skia_opt-0.3.8-py3-none-any.whl.

File metadata

File hashes

Hashes for dynrender_skia_opt-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6bb3417b0a504642e36e130fb0e0ed9fc4da6e13ab54adba0da0f46d19422bbf
MD5 6b0d4a7794ebfdbc98af55e3b48cc6ad
BLAKE2b-256 c621d532f470accb898bbd7bc817fd1eec0c057420dae1ca0c0a5cd3bb71c911

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page