jjzjj

Graphics

全部标签

c# - 绘制控件时翻转坐标

我正在控件上绘制图形,但0,0位于控件的左上角。有没有办法翻转坐标,使0,0位于控件的左下角? 最佳答案 如果您使用的是WinForms,那么您可能会发现可以使用Graphics.ScaleTransform翻转Y轴:privatevoidScaleTransformFloat(PaintEventArgse){//BegingraphicscontainerGraphicsContainercontainerState=e.Graphics.BeginContainer();//FliptheY-Axise.Graphics.Sc

c# - 将文本添加到图像文件

我需要在图像文件中添加文本。我需要读取一个图像文件(jpg、png、gif)并向其中添加一行文本。 最佳答案 在GDI+中,您可以使用Image类读取文件,然后使用Graphics类向其中添加文本。像这样的东西:Imageimage=Image.FromFile(@"c:\somepic.gif");//or.jpg,etc...Graphicsgraphics=Graphics.FromImage(image);graphics.DrawString("Hello",this.Font,Brushes.Black,0,0);如果您

c# - InterpolationMode HighQualityBicubic 在调整大小后的图像边缘引入伪像

使用一些非常常用的标准C#代码来调整图像大小,并将其放置在彩色背景上ImageimgToResize=Image.FromFile(@"Dejeuner.jpg");Sizesize=newSize(768,1024);Bitmapb=newBitmap(size.Width,size.Height);Graphicsg=Graphics.FromImage((Image)b);g.InterpolationMode=InterpolationMode.HighQualityBicubic;g.FillRectangle(Brushes.Green,0,0,size.Width,siz

c# - 如何在应用新设置时防止 GraphicsDevice 被处置?

我的游戏窗口允许手动调整大小,这意味着它可以像任何其他普通窗口一样通过拖动其边缘来调整大小。该游戏还使用了RenderTarget2Drt2d,主要渲染目标在主要绘制方法中设置为:GraphicsDevice.SetRenderTarget(rt2d),但它被重置回null(默认渲染目标)在主要Draw方法的末尾,这让人​​有点困惑:这真的是问题的根源吗,在RenderTarget设置为rt2d之间调整游戏窗口大小,而不是重置回默认值?现在看起来是这样。主要Draw方法中的代码应该总是将主要渲染目标重置回null,所以没有预期的情况,这通常不会发生。不过,调整游戏窗口大小的结果有时会导

C# 绘制三点圆弧

我需要使用GraphicsPath绘制弧线并具有初始点、中间点和终点。电弧必须通过它们。我尝试了.DrawCurve和.DrawBezier,但结果并不完全是一条弧线。我能做什么?解决方案:经过几个小时的代码编写后,我设法用这个算法画出了我想要的东西(给出3点a、b、c和一个GraphicsPath路径):doubled=2*(a.X-c.X)*(c.Y-b.Y)+2*(b.X-c.X)*(a.Y-c.Y);doublem1=(Math.Pow(a.X,2)-Math.Pow(c.X,2)+Math.Pow(a.Y,2)-Math.Pow(c.Y,2));doublem2=(Math.

c# - 在 WPF 装饰器中绘制虚线

我在网上找到了几篇关于在WPF中绘制虚线的文章。但是,它们似乎围绕着使用Line类,它是WPF中的UIElement。它是这样的:LinemyLine=newLine();DoubleCollectiondashes=newDoubleCollection();dashes.Add(2);dashes.Add(2);myLine.StrokeDashArray=dashes;现在,我在一个装饰器中,我只能访问一个绘图上下文。在那里,我或多或少地减少了绘图基元、画笔、钢笔、几何图形等。这看起来更像这样:varpen=newPen(newSolidColorBrush(Color.From

c# - 通过句柄获取窗口的边界

我正在尝试获取当前事件窗口的高度和宽度。[DllImport("user32.dll",CharSet=CharSet.Auto,ExactSpelling=true)]publicstaticexternIntPtrGetForegroundWindow();[DllImport("user32.dll")]privatestaticexternboolGetWindowRect(IntPtrhWnd,Rectanglerect);Rectanglebonds=newRectangle();GetWindowRect(handle,bonds);Bitmapbmp=newBitmap

c# - 旋转图形?

我有这段代码,可以绘制图像。privatevoidtimer1_Tick(objectsender,EventArgse){Invalidate();}protectedoverridevoidOnPaint(PaintEventArgse){vartempRocket=newBitmap(Properties.Resources.rocket);using(varg=Graphics.FromImage(tempRocket)){e.Graphics.DrawImage(tempRocket,150,150);}}但是我该怎么做才能旋转它呢? 最佳答案

c# - 适用于带有 C# 绑定(bind)的 Windows 的矢量图形库

为了好玩,我想看看我是否可以创建一个有点像WPF的一个小子集的库:一个托管模板驱动的基于矢量的图形系统。(我有一些我想测试的理论。)但是我不是图形天才,我正在寻找一个好的矢量图形库作为开始。我知道Microsoft在内部使用MilCore,它或多或少似乎将矢量结构列表从托管世界传递到非托管世界并呈现它们。我相信这个底层库是基于即时模式的。我想使用现有的免费矢量图形库,其中包含一系列所需功能:基于向量立即模式还是保留模式,最好是立即模式?像素着色器支持几何HitTest会很好图像支持,图像旋转支持.NET绑定(bind)稳定到小规模商业可行的程度我不需要的东西:跨平台支持。如果这将它锁定

c# - 如何绘制亚像素线

在下面的代码中,我尝试绘制两条线:一条线的宽度为亚像素(0.5),另一条线的宽度为1px:varimg=newBitmap(256,256);Graphicsgraphics=Graphics.FromImage(img);graphics.SmoothingMode=SmoothingMode.AntiAlias;//Drawasubpixelline(0.5width)graphics.DrawLine(newPen(Color.Red,(float)0.5),0,100,255,110);//Drawasinglepixelline(1width)graphics.DrawLin