问题标签 [viewbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1678 浏览

c# - ListView - 仅以编程方式选择索引

我正在尝试实现列表框(或列表视图):

我的问题是,我想将选定的索引绑定到代码隐藏中的属性。它仅适用于表单启动,但我需要禁用用户更改选择。Selectin 将仅以编程方式更改。

感谢所有建议或解决方案:)

0 投票
1 回答
1194 浏览

javascript - 检查 svg 元素是否在视图框内

有一个 SVG 内联 HTML 文档,带有一个视图框“xyw h”。如何检查元素是否在视图框中?

通过说元素,它可能是组内的嵌套子路径等等......

所以我想我正在寻找 SVG 的内置功能,或者快速检查它的原因。

我已经尝试保存视图框线,并且我想检查它是否在视图框内的元素我做了类似的事情:

// 现在我有了这个元素的最高父级,在 svg doc 中现在检查是否父级在视图框内,如果为真那么子也是,否则为假

0 投票
1 回答
2298 浏览

wpf - 如何使 Viewbox 的子元素不可扩展

我有一个带有 Viewbox 的 WPF 窗口。我希望此 Viewbox 的其中一个子元素在任何屏幕分辨率下都保持相同的大小。

我的 XAML:

Viewbox 中的前 2 个图像是预定义的,并在不同的屏幕分辨率下进行了精细缩放。我的问题是在运行时获取其源的第三张图像,并且在所有分辨率下都应该具有相同的精确尺寸。它将包含以 4x3 纵横比拍摄的照片,我希望它们保持不变。

但是在 16x9 屏幕分辨率下,它们会被拉伸。我试图在 XAML 中设置一个固定大小 - 它不起作用。我试图将 Stretch 设置为 None - 也不起作用。我试图在后面的代码中保留此图像的大小 - 无济于事。

我还能做些什么来使第三张图片无法缩放?出于几个原因,它应该留在 Viewbox 内。

0 投票
1 回答
1198 浏览

svg - 将视图框坐标设置为 svg 绘图的范围

我有一组动态创建的 svg 对象。其中一些应用了相当复杂的转换。我的意思是,我想计算这些对象的 X 和 Y 的最大值和最小值是没有意义的。我希望视图框(或任何可能有用的类似标签)显示所有这些对象,而无需让我参与计算绘图对象的范围。

能否请你帮忙?

谢谢

0 投票
2 回答
7060 浏览

svg - 根据 SVG 中的路径元素计算 viewBox 参数

我得到一个只有路径的 XML 或 JSON,我需要重新创建 SVG 图像。

我创建一个空

<svg xmlns='http://www.w3.org/2000/svg' version='1.1'></svg>,

我在其中添加 a <g transform="scale(1 -1)" fill='#aaa' stroke='black' stroke-width='5' ></g>,然后在此元素中添加所有路径(例如<path d=... />)。

最后我得到了一个 SVG 图像,但是因为我没有在 SVG 元素中设置 viewBox 属性,所以图像没有正确显示——当我在浏览器中打开它时,它的一部分显示为全尺寸。

可以根据路径中的值计算 viewBox 吗?

谢谢!

0 投票
1 回答
1838 浏览

wpf - WPF WrapPanel 在 ViewBox 中的最大尺寸

在我的程序中,我在视图框中有一个 WrapPanel。WrapPanel(实际上是 ItemsControl 的 ItemsPanelTemplate)包含一些可以是不同大小的绑定项。

所有这一切的目标是我希望所有项目的大小都适合单个屏幕。Viewbox 通过缩放内容来处理这个问题,使它们都适合。WrapPanel 中的每个项目都是用户定义的文本,因此它们都可以是不同的大小。我试图用 WrapPanel 完成的是屏幕上的结果文本将尽可能大。我一直在通过设置 WrapPanel MaxHeight 来做到这一点,这样如果项目太高,它们就会被包裹到更多的列中,但这是一种很老套的方法,我发现对于不同的项目组,MaxHeight 需要是不同的。

作为我的意思的一个例子,想象 ItemsControl 绑定到的项目只是显示字母表中的每个字母。如果没有任何方法强制将项目包装到多列,您最终会得到一个非常高的列和非常小的文本,但是如果我们设置 WrapPanel 的 MaxHeight,那么我们可以像这样将项目强制到多列并且文本会在屏幕上变大:

我对这一切都错了吗?有没有比 WrapPanel 更好的控件?我需要创建某种自定义面板来获得我想要的吗?

谢谢你尽你所能的帮助

编辑:

举一个为什么 UniformGrid 不起作用的例子,假设我有这 5 个项目(每个字母代表一个不同的项目)

使用 UniformGrid,所有项目都将采用项目 E 的大小,并且它们都会在屏幕上占据更多空间。

0 投票
3 回答
43144 浏览

javascript - 使用 JavaScript 操作 SVG 视图框(无库)

我正在尝试更改 JavaScript 中的 SVG 元素视图框。基本上,我正在绘制一个二叉搜索树,当它变得太宽时,我想改变视图框以缩小以便树适合窗口。我目前正在使用:

HTML 是:

我也尝试过使用 setAttributeNS('null',...) 但这似乎也不起作用。我注意到的一件奇怪的事情是,当我 alert(a) 时,它给出的 [object SVGSVGElement] 看起来很奇怪。任何帮助表示赞赏。

0 投票
2 回答
1146 浏览

canvas - FabricJS 支持 SVG viewBox 元素吗?

fabricJS 是否支持 SVG viewBox 元素,以便它只在画布上呈现它?这样,可以轻松实现整个屏幕的缩放。

0 投票
1 回答
8062 浏览

wpf - 在 Wpf 中使用 ScrollView 和 ViewBox 缩放到鼠标点

我在 wpf 中绘制了一些到屏幕的路径。所使用的坐标非常小,因此它们被制作为用视图框填充屏幕。我现在正在尝试实现平移和缩放功能。我希望能够缩放到鼠标相对于 ui 的任何位置(即缩放的屏幕中心等于鼠标坐标)。当前结果是缩放时屏幕的中心不反映 ui 上的确切鼠标位置。

如果你想看看发生了什么......这是我当前的解决方案文件

或者

继承人一些代码:

查看 Xaml

查看模型

查看后面的代码

0 投票
2 回答
1253 浏览

wpf - 为什么 Viewbox 会破坏 Grid 中等距行/列的布局?

简单地说,我有一个 Grid,它有三个同样高的行和两个按钮。我想在第一行有第一个按钮,然后第二行是空的,最后是第三行中的第二个按钮。这样我就得到了相对大小的按钮之间的间距。我需要这个而不是硬编码绝对边距值。所以这里是 XAML:

效果很好!现在我需要的附加功能是让所有东西都可扩展,所以我把它放在 Viewbox 中:

突然布局被打破。我得到了 Viewbox 提供的缩放比例,但按钮之间没有空白。所以两个问题:

  1. 为什么 Viewbox 会破坏这里的东西?
  2. 我该如何解决这个问题?我需要灵活性,所以想象一下我可以有任意数量的按钮,这些按钮可以由网格中任意数量的空行/列分隔。