Tag: canvas

在canvas上绘制东西

我如何在C#for Windows Phone的Canvas上绘制一些东西? 好的,让我更清楚一点。 假设用户在canvas上用386,43点击他的手指。 (canvas是768乘480) 我希望我的应用程序能够通过在canvas上放置一个红点386,43来做出响应。 我以前没有使用Canvas的经验。 如果这个问题太复杂而无法在一个问题中解答(可能是这个问题), 请通过Canvas和Drawing文章给我链接到其他网站。

将UI RectTransform移动到世界位置

我有一个名为Player的GameObject和一个Canvas。 HealthBar GameObject是Canvas (Canvas> HealthBar)的子代 。 我有一个HP栏跟随玩家的脚本。 它应该跟随玩家在其上方的固定位置,因此它位于精灵顶部附近。 以下是HP Follow Script的“跟随”部分。 void Update () { Vector3 currentPos = transform.position; Vector3 playerPos = Camera.main.WorldToViewportPoint (Player.transform.position); transform.position = playerPos; 问题是HP条随着角色的移动而移动,但只是玩家移动速度的一小部分。 例如,如果玩家移动一个单位,则该栏移动0.1个单位。 错误video: https : //streamable.com/vaz7h

C#在Canvas中拖放图像

我试图谷歌如何在canvas上拖放UIElements,但找不到我正在寻找的东西。 我有一个带有Window的C#WPF应用程序。 在窗口内我有一个Canvas,我可以在其中添加图像。 我想要的是能够拖放图像,同时保持在canvas的边界内。 我也希望它在代码中,所以不在xaml中。 我在我添加/更新图像到canvas的function中得到了这个。 TODO应该替换为拖放事件。 Image img = ImageList[i].Image; img.Name = “Image” + i; // TODO: Drag and Drop event for Image // TODO: Check if Left and Top are within Canvas (minus width / height of Image) Canvas.SetLeft(img, Left); // Default Left when adding the image = 0 Canvas.SetTop(img, Top); // Default […]

使用MVVM将Windows从列表拖放到Windows Phone上的canvas

我有一个应用程序,用户可以使用从列表中选择的元素来操作,这是通过单击列表元素并将元素添加到canvas来完成的。 在用户测试应用程序期间。 人们发现它不是直观的,因为他们想要拖放。 我找到了几个链接,描述了如何为WPF实现这一点,即不适用于Windows Phone。 试图从msdn项目复制代码我最终遇到了一些问题,我无法从DragEventArgs获得有关元素的相同信息。 所以我想要完成的是用户可以将列表框中的元素拖到canvas上。 我已尝试过Viewmodel但在DragEventArgs中缺少信息,如e.Data和e.Source。 我也尝试过在xaml.cs文件中没有成功。 任何帮助表示赞赏。 理念 在选中元素时创建元素的副本, 将副本添加为canvas的子项, 设置副本的x,y坐标以匹配所选元素的位置, CaptureMouse()在副本上。 当然在Windows Phone上操作delta应该用来移动它而不是捕获鼠标。 在Click事件添加元素后,我可以在Canvas中拖动一个元素。 但我似乎无法从列表中拖出工作。 上面的要点是我已经尝试但现在没有任何成功的方法。

如何为颜色选择器创建颜色canvas(wpf)

我想创建一个自定义颜色选择器,如Visual Studio或Blend或此处( http://www.codeproject.com/Articles/779105/Color-Canvas-and-Color-Picker-WPF-Toolkit )。 我有一个问题。 我不知道如何在上面的链接创建颜色canvas。 (可能不是canvas。它是其他的东西)我看起来像一个非常不寻常的渐变canvas……我不知道如何在xaml中制作它。 我试图在Visual Studio中绘制它,但没有运气….任何帮助将不胜感激。 提前致谢

在canvas上设置矩形的zindex不会将它带到前面

我有canvas上的canvas和矩形的问题。 他们正在以相反的创造顺序获得事件(最新的是在顶部),而不是zindex的顺序…… 我有ItemsControl与资源列表绑定。 然后有一个canvas作为项目面板: 所有资源都绑定为矩形: 并且有一种风格: … 如您所见,当选择矩形时,我将其Zindex设置为0,其他人则将zindex值设置得更大。 我也尝试使用交换值,但仍然以相同的方式获得焦点。 有人知道为什么会这样吗?

如何通过几点绘制贝塞尔曲线?

我有几点,我尝试使用下面的代码绘制贝塞尔曲线 PathFigure pf = new PathFigure(points.From, ps, false); //ps – list of Bezier segments PathFigureCollection pfc = new PathFigureCollection(); pfc.Add(pf); var pge = new PathGeometry(); pge.Figures = pfc; Path p = new Path(); p.Data = pge; p.Stroke = new SolidColorBrush(Color.FromRgb(244, 111, 011)); 我的Bezier部分看起来像这样 1,2,3分 – 第一节 3,4,5分 – 秒 5,6,7 .. .. 但我得到了这个奇怪的曲线(这里是3个大(节点)和7个小椭圆(是我的点)):

如何在c#wpf应用程序中绘制具有不同z索引的多行

我正在使用DrawingContext.DrawLine函数来绘制线条。 但似乎线条会影响canvas上其他线条的位置。 所以我需要为所有行添加不同的z-index值。 有没有办法绘制具有不同z-index的线条,因此它们不会影响其他线条的位置。 或者是否有任何其他方法可用于绘制线条,比如绘制文本我用TextBlock替换了DrawText方法。 以下是我现在使用的示例代码: DrawingGroup dGroup = new DrawingGroup(); DrawingContext dc = dGroup.Open() dc.DrawLine(penScaleMarker, new Point((float)newPointX, (float)newPointY), new Point((float)newMinorEndX, (float)newMinorEndY));

使用C#/ XAML在地铁样式应用程序中将canvas保存为图像

我正在使用C#/ XAML开发类似地铁风格的应用程序。 我想保存canvas上绘制的任何内容作为图像。 我检查了这个解决方案,但它没有帮助我。 将canvas保存到位图 http://blogs.msdn.com/b/saveenr/archive/2008/09/18/wpf-xaml-saving-a-window-or-canvas-as-a-png-bitmap.aspx 那么如何将canvas内容保存为图像呢? 请帮我进行示例编码。

内存未在WPF映像中发布

我在Canvas加载和卸载图像。 我使用下面的代码加载Image 。 在加载我的Image之前,内存消耗为14.8MB。 Canvas c = new Canvas(); Image im = new Image(); ImageSource src = new BitmapImage(new Uri(@”E:Capture.png”)); im.Source = src; im.Height = 800; im.Width = 800; c.Children.Add(im); homegrid.Children.Add(c); //homegrid is my grid’s name Image显示正确,内存消耗现在为20.8MB。 然后我通过以下代码卸载了Image : foreach (UIElement element in homegrid.Children) { if (element is Canvas) { Canvas page = element as […]