【第六章 一张白纸好作画—Canvas画布(2)】教程文章相关的互联网学习教程文章

C# WPF Canvas背景图片设置【代码】

public MainWindow(){InitializeComponent();//初始化Image image = new Image();//新建图片对象image.Source = new BitmapImage(new Uri("G:\\个人成长\\认知\\互联网\\.NET\\常用UI资源\\背景图片\\1.jpg"));//读取图片ImageBrush ib = new ImageBrush();//新建图片对象ib.ImageSource = image.Source;//赋值为背景图片canvasLogin.Background = ib;//将图片对象赋值给Canvas的Background}

c#-您如何访问WPF Canvas类的子级?【代码】

您如何访问WPF画布类的孩子? 这是一个很棒的课程,我喜欢您如何添加孩子.但是一旦它们出现,您如何看待它们以阅读其状态和内容.我知道将子级放到XAML中很容易.但是,如果您在运行时将子级动态添加到画布上怎么办?解决方法:您可以使用Children属性. 编辑:这是一个遍历子项并通过索引获得子项的示例:foreach (UIElement child in canvas.Children) {// ... } // Or: int index = 0; var childByIndex = canvas.Children[index];

c#-加快在WPF中将对象添加到Canvas的速度【代码】

我在WPF中使用了Canvas来绘制许多彩色矩形,但是添加它们时程序运行速度非常慢.我尝试了不同的选择,例如将它们添加到数组中并一次全部添加,并使用Image而不是Canvas来支付它们,但是它们似乎做得并不多.我有将代码引导到线程中的图形,但是由于C#规则,我必须在主线程中包含图形部分.我还应该注意,问题出在我的计算机上(它运行的是带有14GB DDR2 RAM的Intel Core i7). 这是添加矩形的代码.它已运行超过83,000次.private void AddBlock(...

c#-将inkCanvas中的图像另存为png或jpeg文件【代码】

这是我的WPF代码< InkCanvas x:Name =“ inkCanvas” Margin =“ 9,325,210,193” Background =“ Azure”>< / InkCanvas>还有一个按钮当按下按钮时,我想将绘制的图像保存到文件中.这是我的代码private void button1_Click(object sender, RoutedEventArgs e){int margin = (int)inkCanvas.Margin.Left;int width = (int)inkCanvas.ActualWidth - margin;int height = (int)inkCanvas.ActualHeight - margin;RenderTargetBitmap r...

c – 当我的程序“无响应”时,为什么我的paintBox Canvas被删除?

我用Borland的C builder编写了一个小程序,顺便说一句,一切似乎都很好.我的程序有一个地图窗口和一个表格窗口,当用户按下按钮时,会启动一个长进程,读取所有地图和表格信息,然后显示该信息.每次我通过调试器运行它,我都没有问题.然后今天,我决定测试它而不通过调试器运行它.令我恐惧的是,该程序读取地图信息,然后在没有问题的情况下将其显示在paintbox画布上,但是当它加载网格的信息时,地图会被删除!它似乎发生在表的加载阶段.这需要...

c# – 按标签删除Canvas Child【代码】

我有一个椭圆(prew),我想通过标签(“p”)从canvas(canvas1)中删除.我试过这个,但它不起作用:var child = (from c in canvas1.Childrenwhere "p".Equals(c.Tag)select c).First(); canvas1.Children.Remove(child);它给了我这个错误:“Could not find an implementation of the query pattern for source type‘System.Windows.Controls.UIElementCollection’. ‘Where’ not found.Consider explicitly specifying the type of...

在Canvas WPF c#中拖动并选择并重新调整元素大小

现在我可以使用mousedown和mousemove事件在画布上绘制矩形我想选择矩形并在画布中拖动它们(移动)并调整它们的大小 怎么样 ?解决方法:http://www.codeproject.com/KB/WPF/WPF_DrawTools.aspx 即使您的实现比此示例更简单,您仍然可以从示例中学习如何进行命中测试,选择,组选择,绘制调整大小句柄,更改z顺序,最后移动和调整对象大小.请注意,这是一种低级Winforms风格的解决方案.您可以使用高级WPF支持获得类似的功能.

c# – wpf canvas双击【代码】

我试图在画布上从用户那里获取双击.我正在使用previewmousedown事件,但它无法正常工作. 功能如下:void DrawCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e){/* Check if it is a double click */if(e.ChangedButton == MouseButton.Left && e.ClickCount == 2){//do double click actions}else{//do single click actions}e.Handled = true;}我也尝试将它移动到previewmouseup函数,但clickcount保持在...

c# – 检查Canvas XAML中的矩形是否相交【代码】

我有一个画布,我画了不同的矩形.我在集合中有矩形坐标.每次将一个矩形添加到画布时,我需要检查它是否超过其他现有矩形.我检查画布中每个现有矩形的新矩形,以了解矩形是否与任何其他矩形重叠.这是最有效的解决方案吗?foreach(System.Windows.Shapes.Rectangle r in rectCollection){IntersectionDetail d1 = r.RenderedGeometry.FillContainsWithDetail(this.rect.RenderedGeometry);if(d1 == IntersectionDetail.Intersects){Mess...

javascript – 是否有任何HTML5 Canvas实现嵌入c

我正在研究基于浏览器的游戏atm,并且已经在研究将其移植到其他平台的选项,例如控制台或在Web浏览器中播放可能不适合的设备. 游戏几乎都是通过2D画布上下文完成渲染的JavaScript. 我希望的是已经有一个c库/ api可以与google的v8引擎一起工作来处理JavaScript中的画布调用并用opengl或类似的东西渲染它们 有谁知道可能提供此功能的项目? 否则你会怎么想我在j中嵌入我的javascript,尽可能少的更改javascript,因为我真的不想在平台之间...

c# – WPF Canvas.GetLeft()始终接收NaN值【代码】

我试图在WPF中获得控件的左侧.但我总是收到NaN值而不是双倍值.这是我正在尝试的: XAML:<Canvas Canvas.Left="230" Name="cnvSaver"><Border Focusable="False" BorderBrush="#7FBFA379" BorderThickness="0 1" Width="460" Height="460"><Canvas Background="#3FFFFFFF" AllowDrop="True" Name="cnvViewerLower" Drop="cnvViewerLower_Drop" Height="460" Width="460"></Canvas></Border><Border Focusable="False" Name="borUp...

c# – 为什么在Canvas上使用剪切坐标显示GeometryDrawing?【代码】

我有以下简单的代码绘制矩形<Canvas Name="MainImageLayer" ><Image ><Image.Source ><DrawingImage xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ><DrawingImage.Drawing > <DrawingGroup><DrawingGroup.Children><GeometryDrawing><GeometryDrawing.Pen><Pen Brush="#FF1acc33" Thickness="1" /></GeometryDrawing.Pen><GeometryDrawing.Brush><SolidColorBrush>Red</SolidCo...

c# – 检测WPF Canvas上两个矩形之间的碰撞【代码】

我对编程非常陌生,我从C#开始.我现在正试图制作我的第一场比赛,我决定使用蛇.到目前为止,我一直在努力研究这个问题,但我看到的所有答案都与那些使用不同方法移动蛇的人有关. 我的程序使用两个双打(左和上)来存储蛇在画布上的位置.我的程序还使用两个双打作为游戏中的“食物”,称为randomFoodSpawnLeft和randomFoodSpawnTop. 我的问题是这个.如何通过左侧和顶部值检测两个矩形对象之间的碰撞?我很困惑. snakeWindow是Window,snakeH...

c# – xamarin crossplatform canvas

我正在调查Xamarin作为我们的跨平台解决方案的选项.对我们而言,我们可以创建自己的自定义交互式控件至关重要. 我见过的例子(http://devcenter.wintellect.com/jprosise/supercharging-xamarin-forms-with-custom-renderers-part-5)展示了如何创建自定义渲染控件.不幸的是,他们都基本上展示了如何根据平台不同地渲染到Canvas.这对我们来说是不可接受的. 是否有真正的跨平台方式来创建Xamarin自定义渲染控件而无需在每个平台特定实现...

c# – WinRT:如何确保在Canvas上以像素完美的方式绘制图像?【代码】

我在Windows运行时环境中将Image实例添加到Canvas,并且在140和180刻度分辨率显示时,我的图像不断放大,它在刻度分辨率100中看起来很完美.我尝试创建3个PNG图像,每个刻度尺寸一个:100 ,140,180但它仍然可以扩展它们,它们看起来很模糊.我在青色背景上创建了一个带有4个黑色像素的测试图像,我从模拟器中截取了一个截图,看看图像是如何模糊的,我的原始图像只有4个完美的黑色像素: 我尝试更改我的Image对象的拉伸模式,但它什么也没做.我...