bimpy 开源项目教程

bimpy 开源项目教程

bimpyimgui for python 项目地址:https://gitcode.com/gh_mirrors/bi/bimpy

项目介绍

bimpy 是一个为 Python 提供的原生扩展,使用 C++ 构建,提供了对 dear imgui 的绑定,并以自包含包的形式分发,同时捆绑了 glfw 和 gl3w。bimpy 的主要特点包括:

  • 即时模式 UI 与 Python 结合
  • API 尽可能接近原始的 dear imgui
  • 包含所有必要的功能,如窗口/OpenGL 上下文创建,并隐藏这些细节
  • 能够显示来自 ndarrays、PIL Images、numpy arrays 等的图像
  • 支持 Windows、GNU Linux 和 macOS
  • 无依赖,易于从源码构建

项目快速启动

安装

安装 bimpy 非常简单,因为它没有外部依赖。你可以通过 pip 安装:

pip install bimpy

或者从源码构建并安装:

python setup.py install

示例代码

以下是一个简单的 "Hello World" 示例:

import bimpy

ctx = bimpy.Context()
ctx.init(600, 600, "Hello")

s = bimpy.String()
f = bimpy.Float()

while not ctx.should_close():
    with ctx:
        bimpy.text("Hello world ")
        if bimpy.button("OK"):
            print(s.value)
        bimpy.input_text('string', s, 256)
        bimpy.slider_float("float", f, 0, 1)

    ctx.render()

应用案例和最佳实践

显示图像

bimpy 可以显示各种类型的图像,包括 numpy 数组。以下是一个显示图像的示例:

import bimpy
import numpy as np

ctx = bimpy.Context()
ctx.init(600, 600, "Image Display")

image = np.zeros((256, 256, 3), dtype=np.uint8)
im = bimpy.Image(image)

while not ctx.should_close():
    with ctx:
        bimpy.text("Display Image of type:")
        bimpy.same_line()
        bimpy.text(str(type(image)))
        bimpy.image(im)

    ctx.render()

非英语文本

bimpy 支持非英语文本,可以使用内置的 load_fonts 函数加载带有 CJK、西里尔字母、希腊字母的字体:

import bimpy

ctx = bimpy.Context()
ctx.init(600, 600, "Hello")
bimpy.load_fonts(chinese=True, latin_ext=True, japanese=True, cyrillic=True)

while not ctx.should_close():
    with ctx:
        chinese = u"學而不思則罔 思而不學則殆 "
        japanese = u"二兎を追う者は一兎をも得ず "
        hiragana = u"あ い う え お か "
        katakana = u"ア イ ウ エ オ カ "
        kanji = "川 月 木 心 火 左 北 今 "
        ukrainian = "Садок вишневий коло "
        polish = "Hej tam gdzieś z nad "
        russian = "Ночь улица фонарь "

        bimpy.text('Chinese:')
        bimpy.text(chinese)
        bimpy.text('Japanese:')
        bimpy.text(japanese)
        bimpy.bullet_text("hiragana: " + hiragana)
        bimpy.bullet_text("katakana: " + katakana)
        bimpy.bullet_text("kanji: " + kanji)
        bimpy.text('Ukrainian:')
        bimpy.text(ukrainian)
        bimpy.text('Polish:')
        bimpy.text(

bimpyimgui for python 项目地址:https://gitcode.com/gh_mirrors/bi/bimpy

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张萌纳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值