You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iRuby内核的Jupyter-lab中通过Ruby代码插入PNG图片?

在Jupyter Lab的iRuby内核中插入生成的PNG图片

在iRuby内核中,有两种常用方式可以将计算生成的PNG图片插入到Jupyter Lab笔记本中,以下是具体实现:

方法1:使用iRuby原生的IRuby.display方法

这是最直接的方式,支持直接传入图片文件对象或二进制数据:

场景1:读取本地生成的PNG文件

如果Ruby代码已将图片保存为本地文件(比如output.png),可直接读取并显示:

IRuby.display(File.open("output.png"), mime_type: "image/png")

场景2:直接渲染内存中的图片数据

如果使用图像处理库(如ChunkyPNG、RMagick)在内存中生成了图片,无需保存到本地即可直接渲染:

# 先安装依赖gem:gem install chunky_png
require 'chunky_png'

# 生成一张测试图片
img = ChunkyPNG::Image.new(200, 200, ChunkyPNG::Color::WHITE)
img[50, 50] = ChunkyPNG::Color::RED
img[100, 100] = ChunkyPNG::Color::BLUE

# 渲染内存中的图片二进制数据
IRuby.display(img.to_blob, mime_type: "image/png")

方法2:输出Markdown图片标签

iRuby支持直接渲染Markdown内容,这种方式适合自定义图片属性(如尺寸、描述文本)的场景:

场景1:引用本地文件

# 基础Markdown图片标签
puts "![计算生成的图片](output.png)"

# 自定义图片宽度
puts '<img src="output.png" width="300" alt="计算生成的图片">'

场景2:嵌入Base64编码的图片(无外部文件依赖)

如果不想依赖本地文件,可将图片二进制数据转成Base64编码后嵌入:

require 'base64'

# 读取图片并转成Base64编码
img_base64 = Base64.strict_encode64(File.read("output.png"))

# 输出嵌入Base64的图片标签
puts "![计算生成的图片](data:image/png;base64,#{img_base64})"

内容的提问来源于stack exchange,提问作者Nicola Mingotti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 13:37:36