Sublime Text 3 - 将图像限制为视图大小
Sublime Text 3 - Limit images to viewsize
我正在开发一个 Sublime Text 3 插件,它可以在视图中显示图像。这些图像是由 jupyter 内核创建的,因此图像的大小取决于生成它们的代码。因为我创建了非常大的图像,所以它们太大以适应视图。
我想将图像的大小限制为视图的大小,例如将其缩放到视图大小的 100%。有没有办法获取当前视图的大小并将其添加到 ST3 的 minihtml 实现中?
我测试了宽度:100%,它只使用了实际视图大小的一小部分。
我认为你在这里想要的 API 端点是 view.viewport_extent()
;它 returns 返回一个 vector
表示视图本身的宽度和高度,它是 (dip, dip)
的元组(即与设备无关的像素)。
minihtml 中的 px
大小(我相信)也与设备无关,因此可以在不知道插件中显示的屏幕大小或 DPI 比例的情况下生成 HTML。
因此,通过使用此 API 方法,您可以在图像标签上计算适当的 width
和 height
(如果需要,请确保限制纵横比)以调整其大小随心所欲。
需要注意的是,您获得的大小实际上是整个视口的大小,因此在垂直滚动条占用 window 的水平 space 一点的情况下,您你会发现制作这么宽的东西实际上会使水平滚动条出现,因为图像的一小部分位于滚动条下方。因此,您可能希望 trim 将尺寸调小一点。
view.line_height()
和 view.em_width()
也可能在这种情况下派上用场;他们会在 dip
中告诉您文本的高度或宽度基于视图中的字体,以防您想根据字体大小调整图像大小,
我正在开发一个 Sublime Text 3 插件,它可以在视图中显示图像。这些图像是由 jupyter 内核创建的,因此图像的大小取决于生成它们的代码。因为我创建了非常大的图像,所以它们太大以适应视图。
我想将图像的大小限制为视图的大小,例如将其缩放到视图大小的 100%。有没有办法获取当前视图的大小并将其添加到 ST3 的 minihtml 实现中?
我测试了宽度:100%,它只使用了实际视图大小的一小部分。
我认为你在这里想要的 API 端点是 view.viewport_extent()
;它 returns 返回一个 vector
表示视图本身的宽度和高度,它是 (dip, dip)
的元组(即与设备无关的像素)。
minihtml 中的 px
大小(我相信)也与设备无关,因此可以在不知道插件中显示的屏幕大小或 DPI 比例的情况下生成 HTML。
因此,通过使用此 API 方法,您可以在图像标签上计算适当的 width
和 height
(如果需要,请确保限制纵横比)以调整其大小随心所欲。
需要注意的是,您获得的大小实际上是整个视口的大小,因此在垂直滚动条占用 window 的水平 space 一点的情况下,您你会发现制作这么宽的东西实际上会使水平滚动条出现,因为图像的一小部分位于滚动条下方。因此,您可能希望 trim 将尺寸调小一点。
view.line_height()
和 view.em_width()
也可能在这种情况下派上用场;他们会在 dip
中告诉您文本的高度或宽度基于视图中的字体,以防您想根据字体大小调整图像大小,