Tag: 缩放

如何在墨迹上进行缩放和旋转?

使用以下XAML: Testing 我试图围绕图像的中心旋转,并使用滚轮鼠标进行缩放。 我已经设置了这个转换组和事件: public MainWindow() { InitializeComponent(); DataContext = new MainWindowViewModel(); transformGroup = new TransformGroup(); scaleTransform = new ScaleTransform(); rotateTransform = new RotateTransform(); translateTransform = new TranslateTransform(); transformGroup.Children.Add(rotateTransform); transformGroup.Children.Add(scaleTransform); transformGroup.Children.Add(translateTransform); imgViewbox.RenderTransform = transformGroup; imgViewbox.MouseWheel += ImageViewboxMouseWheel; } 旋转很简单: void Rotate(object sender, RoutedEventArgs e) { //imgViewbox.RenderTransformOrigin = new Point(0.5,0.5); rotateTransform.Angle += 90; } 但是缩放正在做各种奇怪的东西在屏幕上跳跃。 缩放代码在这里: […]

使用平移和缩放计算正确的光标位置

我现在一直在搞乱这个问题大约一个小时。 我有一个支持平移和缩放的视口,通过存储X和Y轴的偏移来处理平移。 变焦只是从0.2到14的浮动。 我的问题是我需要能够放置用户在视口中点击的东西,但是当我缩放和平移时鼠标坐标不正确。 我无法弄清楚如何正确计算鼠标坐标。 这是一张显示我目前所拥有的图片: http : //i.imgur.com/WQSXKJ2.png 如您所见,鼠标原点始终位于视口组件的左上角。 您可以在图像的左下角看到平移X和Y偏移以及缩放值。 我还添加了一个与视口左上角相关的鼠标坐标示例。 现在,因为在该图像中它当前放大了我放置的对象将被偏移。 感谢您的时间! 编辑为我的案例工作的解决方案: void Viewport_MouseClick(object sender, MouseEventArgs e){ Point mousePosition = new Point((int)((eX – Pan.X) / Zoom), (int)((eY – Pan.Y) / Zoom)); } 这会计算出正确的“屏幕空间”鼠标位置,同时考虑平移和缩放。 我通过玩TaWs答案得到了解决方案。 感谢您的帮助! 🙂

resize时不要缩放ImageBrush,重复它!

我有ImageBrush的问题: 我想在用户调整窗口大小时重复图像。 但是当用户调整窗口大小时,当前图像会变焦。 (请注意,图像大小很小,我使用TileMode和Viewport重复它,并在resize时出现问题!)。 任何XAML代码都会很棒! 🙂 我很抱歉英语不好!

将范围内的数字转换为另一范围内的数字

可能重复: 将数字范围转换为另一个范围,保持比率 所以我有一个函数返回0和255之间的值,我需要将这些值转换为介于-255和255之间的东西所以200大约是145,150大约是45,依此类推..我看过转换一个数字范围到另一个范围,保持比例但公式不起作用。 我可以使用的任何其他公式?

在c#中放大/缩小图像

任何人都知道相应的C#代码

缩放图片框根本不会更改图像

我正在使用图片框来创建我的桁架类实例的视觉效果。 我通过直接绘制到paint事件中的图片框来创建视觉效果。 该方法看起来像这样 private void pictureBox1_Paint(object sender, PaintEventArgs e) { if (isDraw) { //Preparing to draw Graphics g = e.Graphics; g.SmoothingMode = SmoothingMode.AntiAlias; g.InterpolationMode = InterpolationMode.Bicubic; RunEntry entry = this.passedHistory.SelectedItem as RunEntry; AnsFile objToDraw = entry.FileRead; Pen pen = new Pen(Color.Black); //Getting size of bitmap int maxWidth = 0, maxHeight = 0; foreach (AnsJoint joint […]

在当前鼠标位置缩放/拉伸图片框?

问:如何在图片框上实现缩放当前鼠标位置,例如放大Google地图? 我正在设计一个简单的GIS /地图引擎作为我的论文工作。 应用程序的设计方式是将地图加载到一个经过简单修改的​​tabcontrol的选项卡中。 地图是标准的JPEG或PNG格式数字图像,大多数都具有非常高的分辨率(2000x2000px及以上)。 它们被加载到图片框中,这些图片框被添加为tabpages的子控件。 我已经实现了一个简单的缩放方法作为按钮点击事件,只放大到图像/图片框的中心。 我想要做的是实现鼠标滚轮事件的缩放,使图片在图片框内的当前鼠标位置放大。 放大的代码目前如下所示: timesZoomed += 1; zoomRatio += 0.1f; pbxMapa.Width = pbxMapa.Width * zoomRatio; pbxMapa.Height = pbxMapa.Height * zoomRatio; pbxMapa.Location = new Point((this.Width / 2) – (pbxMapa.Width / 2), this.Height / 2) – (pbxMapa.Height / 2)); 默认的“zoomRatio”值为1,并且增加到0.6f。 参数“timesZoomed”默认值为0,最多为6。 “pbxMapa”是带有地图加载图像的图片框。 图片框的“ImageSizeMode”道具设置为“缩放”,但图片框的大小设置为加载的地图图像的完整大小。 此外,我正在尝试这个简单的缩放代码。 计算有些效果,但在使用更大的比例进行缩放/乘法时仍然有相当大的偏差: pbxMapa.Location = new Point(pbxMapa.Location.X + (int)((pbxMapa.Location.X * […]

缩放窗口窗体

可以根据窗口大小准备窗体窗口窗口来调整所有元素的大小/重新定位,但我正在尝试做一些不同的事情。 是否有可能以某种方式实际缩放窗口以及内部的所有元素,而不管它们的位置,属性等? 基本上你在某些图形编辑器中缩放图片的方式 – 你可以拉伸或缩小它,但是这张图片上的内容并不重要。 那么,是否有可能与表格做类似的事情? 无论表格内部是什么,都可以扩展其大小。

C#缩放UserControl内容以匹配用户Dpi /字体大小

如何让OwnerDrawn UserControl尊重用户dpi(96/120 / xxx)和/或font-size(普通,大,超大)? 有些人建议在Graphics对象上使用DpiX和DpiY属性,但这似乎对我控制中的任何东西都没有(即它们总是设置为96,无论我选择哪种字体大小或dpi)。 StackOverflow上还有另一个类似的问题,它建议使用AutoScale属性,但建议的解决方案也没有做任何事情。 除了依赖WPF之外,在.NET中没有办法做到这一点吗?

C#:使用滚动条缩放图片框图像的简单而实用的方法

是否有一种简单而实用的方法来缩放图片框中的图像,包括滚动条? 目前,我在面板中使用了一个自动滚动激活的图片框。 要进行缩放,我会放大图片框并使用面板上的滚动条移动它。 问题是,它表现得很奇怪。 例如:如果放大到远,则上下左边的边框和图像之间的边距越来越大。 这是缩放方法。 我是从这里得到的。 private void ZoomInOut(bool zoom) { //Zoom ratio by which the images will be zoomed by default int zoomRatio = 10; //Set the zoomed width and height int widthZoom = pictureBox_viewer.Width * zoomRatio / 100; int heightZoom = pictureBox_viewer.Height * zoomRatio / 100; //zoom = true –> zoom in […]