问题标签 [scaletransform]

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 投票
1 回答
44383 浏览

c# - WPF 画布缩放/变换以适应

我重新发布这个问题,因为我上次没有得到太多回应,希望一些重新措辞可能会有所帮助......

基本上我要做的是创建一个数据绑定画布,它将自动缩放其内容以“填充”可用空间。有点像缩放以适应操作。不幸的是,我的 WPF 技能还不是很强大,我正在努力研究如何完成最后一部分。我已经按照一些数据绑定示例来绑定画布,但不确定它是否错误并阻碍了我。

目前我有两个基本问题,具体取决于我尝试解决解决方案的方式,或者:

  • 如果可能使用转换,我不知道如何通过 XAML 自动重新缩放画布。
  • 我似乎无法在后面的代码中引用画布,我猜是因为它是 ItemsControl 的一部分?

我正在尝试实现的一个示例,我有 AI 想要尝试获得 B:

删除了指向 img 的过期链接

我目前使用的代码非常简单,只需创建具有给定坐标的 4 个点,以及另一个视图模型来包装这些点。

然后 PointCollectionViewModel 用作我的 AutoResizingCanvas 的 DataContent,它具有以下 XAML 来实现绑定:

0 投票
1 回答
2643 浏览

wpf - WPF 为什么我的 ScaleTransform 冻结了,我该如何绑定它?

我有一个非常简单的用户控件,我想ScaleTransform在后面的代码中将属性绑定到 DP,如下所示:

然后在后面的代码中我这样做:

但我收到一条错误消息:

无法在对象“...”上设置属性,因为它处于只读状态。

所以我把它改成:

但现在这实际上什么也没做......我的画布上没有任何比例。

然而

如果我删除绑定ScaleTransform并将其作为空 XAML 元素:

然后在我的代码中我这样做:

有用!我得到了应用的规模

所以2个问题:

  1. 为什么我的TransformFrozen是第一位的?
  2. 为什么我克隆转换时绑定不起作用?

谢谢大家!

更新:

这是DP的定义:

0 投票
1 回答
7961 浏览

silverlight - XAML:当子对象的 ScaleTransform 变大时,让 ScrollViewer 显示滚动条

我正在为我的 Silverlight 3 应用程序中的某些文档制作一种“打印预览”控件。我在 ScrollViewer 中有一个 Canvas(用于显示文档),并且我有放大/缩小按钮来控制 Canvas.RenderTransform 属性的 ScaleTransform 的 X 和 Y Scale 属性。我希望 ScrollViewer 的滚动条在我“放大”到足以使画布在 ScrollViewer 区域中不再可见时显示出来,但似乎它们仅根据画布本身的宽度/高度显示,不管是否放大。

任何人都可以帮忙吗?

0 投票
1 回答
30135 浏览

wpf - 按钮上的 xaml(在 controltemplate 中)缩放转换以执行“缩放”

我有一个带有图像的按钮,它的样式如下:

按钮如下:

问题是当我的鼠标经过时宽度不会改变。(或者至少 - 图像的宽度不......)

我相信我可以使用“缩放”转换来放大按钮及其所有内容?我怎么会在这里...?

谢谢。

0 投票
2 回答
1212 浏览

.net - .NET Graphics.ScaleTransform 将打印作业转换为位图。还有其他缩放文本的方法吗?

Graphics.ScaleTransform用来拉伸文本行,使它们适合页面的宽度,然后打印该页面。但是,这会将打印作业转换为位图 - 对于具有许多页面的打印,这会导致打印作业的大小上升到令人讨厌的比例,并极大地减慢打印速度。

如果我不这样缩放,打印作业仍然非常小,因为它只是向打印机发送文本打印命令。

Graphics.ScaleTransform我的问题是,除了使用拉伸文本的宽度之外,还有其他方法吗?

下面是演示这一点的示例代码(将被调用Print.Test(True)Print.Test(False)显示缩放对打印作业的影响):

更新:我改为使用与 GDI 调用的互操作。这是相关代码;GDI 类充满了我从http://pinvoke.net/的 wiki 复制的相关函数和常量的定义。

0 投票
1 回答
15249 浏览

wpf - 图像的缩放变换

我正在尝试将图像的大小增加 20。所以我正在使用 ScaleTransform,如下所示..但以下代码不执行任何缩放转换..任何帮助将不胜感激...

0 投票
6 回答
9929 浏览

wpf - ScaleTransform and CenterX

I have the following code

In the UserControl I animate the ScaleTranform to 1. I want UserControl to "grow" from its center, but it "grows" from the upper left corner of it. The values in CenterX and CenterY do nothing. How can I make it Scale as I want?

0 投票
1 回答
1814 浏览

wpf - ScaleTransform 非线性变换

我正在使用缩放变换来允许用户调整控件的大小。但是发生的情况是,当您开始移动鼠标时,控件会跳转到新的大小,然后会奇怪地缩放。您将鼠标从起始位置移动得越远,尺寸的增加就越大。

我希望它是我计算要应用的比例的方式。这是代码:

更新:现在使用 XAML

0 投票
1 回答
567 浏览

python - 重新绘制时放大到 Clutter CairoTexture

我正在使用 python-clutter 1.0

我的问题是挑战的形式

编写代码以允许通过按键放大到 CairoTexture 演员,在步骤中,可以(通过 cairo)重新绘制每个演员,以便图像保持高分辨率但仍按预期缩放,无需重新调整演员的大小。

想想 Inkscape 之类的东西,以及如何放大矢量;矢量如何在任何放大倍率下保持干净。将一条路径(例如一组 cairoline_to命令)放在 CairoTexture actor 上,然后让相同的技巧发生。

更多详情

我的目标是使用一组演员的小型 SVG 编辑器。每个演员都致力于一条道路。我通过使用“缩放”SomeGroup.set_depth(z)然后使 z 更大/更小。到目前为止一切都很好。然而,演员离相机越近,纹理被拉伸得越多以适应他们新的外观尺寸。

我似乎无法找到让 Clutter 做到这两点的方法:

  1. 让演员的实际尺寸保持不变(即开始时的尺寸。)
  2. 将其底层表面换成较大的表面(放大时),然后我可以将路径重新绘制到上面(并使用 cairo 矩阵来执行上下文的缩放。)

如果我使用set_sizeor set_surface_size,演员会变,这是不希望的。我只希望它的表面(基础数据)变得更大。

(我不确定这个术语,也许是 mipmapping?)

换句话说:多边形越来越大,增加其纹理数组的大小,以便它可以映射到更大的多边形上。

我什至尝试过通过保持第二个表面(使用 pycairo)来结束混乱,将其重新创建为演员的表观大小(get_transformed_size),然后我使用混乱set_from_rgb_data并将其指向我的第二个表面,强制重新表面的大小,但不是演员的尺寸。

这样做的问题是a)混乱忽略了新的尺寸,只吸收了旧的宽度/高度,b)RGBA 与 ARGB32 的东西会导致颜色崩溃。

我对任何替代想法持开放态度,我希望我站在树林里想念所有的树!

\d

0 投票
2 回答
1090 浏览

silverlight - Silverlight scaletransform 调整滚动条

我有以下 UI 元素层次结构:UserControl>ScrollViewer>Canvas。我在画布上画了很多东西,它变得比 UserControl 大,此时 ScrollViewer 显示滚动条。到现在为止还挺好。现在我将 ScaleTransform 应用到 Canvas(比如 2.0,使所有内容都变大一倍)。但是,我的滚动条无法调整,所以我现在只能在放大的画布上滚动一半。当我将 scaletransform 应用于 ScrollViewer 中显示的画布时,如何让我的 ScrollViewer 滚动条进行调整?