【问题标题】:Sublime Text 3 - Limit images to viewsize [closed]Sublime Text 3 - 将图像限制为视图大小 [关闭]
【发布时间】:2023-03-11 14:56:02
【问题描述】:

我正在开发一个 Sublime Text 3 插件,它可以在视图中显示图像。这些图像是由 jupyter 内核创建的,因此图像的大小取决于生成它们的代码。由于我创建了非常大的图像,因此它们太大以适合视图。

我想将图像的大小限制为视图的大小,例如将其缩放到视图大小的 100%。有没有办法获取当前视图的大小并将其添加到 ST3 的 minihtml 实现中?

我测试了 width: 100% ,它只使用了实际视图大小的一小部分。

【问题讨论】:

  • 欢迎来到 SO!请参阅“How to Ask”以及链接页面和“mcve”。您没有告诉我们您尝试了什么或解释了为什么它不起作用,所以您的问题非常广泛。要回答这个问题,我们基本上必须写一个离题的教程。

标签: sublimetext3


【解决方案1】:

我认为你想要的 API 端点是view.viewport_extent();它返回一个vector,它表示视图本身的宽度和高度,它是一个(dip, dip) 的元组(即与设备无关的像素)。

minihtml 中的px 大小(我相信)也与设备无关,因此可以在不知道插件中显示的屏幕大小或 DPI 比例的情况下生成 HTML。

因此,通过使用此 API 方法,您可以在图像标签上计算出适当的 widthheight(确保在需要时限制纵横比)以根据需要调整大小。

需要注意的是,你得到的尺寸实际上是完整的视口尺寸,所以如果垂直滚动条占用了窗口的一些水平空间,你会发现制作这么宽的东西实际上会使水平滚动条出现,因为图像的一小部分在滚动条下方。因此,您可能需要将尺寸缩小一点。

view.line_height()view.em_width() 在这种情况下也可能派上用场;他们会在dip 中告诉您基于视图中的字体的文本有多高或多宽,如果您想根据字体大小调整图像大小,

【讨论】:

  • 谢谢,这看起来很有希望!这周我会试一试。
猜你喜欢
  • 1970-01-01
  • 2016-06-09
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 2018-02-07
  • 2013-04-05
  • 2017-02-17
  • 2018-06-05
相关资源
最近更新 更多