如何删除图片框上的所有矩形? (图片上没有)
我尝试使用以下代码: pictureBox1.Invalidate(); //or pictureBox1.Update(); //or Refresh(); ,但它对此一无所有.我想在我的图片框上清除所有绘制图形,因为我单击下一页,我想绘制其上的新矩形.因此,请不要为我提供这样的解决方案: g.FillRectangle(Brushes.Black, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height)) 或 Graphics.Clear(); 有人想和我分享解决方案吗?我对此表示赞赏. form2.cs private void pictureBox1_Paint(object sender, PaintEventArgs e) { Pen pen = new Pen
6 2024-04-26
编程技术问答社区
在Windows Server 2008R2 64bit中,.NET System.Drawing与所有其他窗口的差异(图像在2008R2-64中被破坏,但其他窗口没有)。
我已经为已安装的Windows Server 2008R2 64bit(x86)的开发PC提供了,因此它被用作工作站.我的开发环境是VS2008 Targeting .Net3.5(是, 2008 !!!) 在我们的网站(现在已经有几年了)中,有一个内部开发的验证码. 为了简短的简短故事, letters 未在我的开发机2008R2-64上输出,而是在所有其他窗口上(我们的测试和实时服务器是2003 64bit)和Virtual PC(2008 32bit不是R2,XP,Win7). 我已经在网上看到了一些帖子,说出像素的测量方式 ymige 已经改变了(很难确定),但没有其他内容. 这是一个小的Web应用程序,可以说明问题. using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControl
4 2024-04-26
编程技术问答社区
绘图中的位图在Load_Form之外无法呈现
我正在尝试渲染从绘图到屏幕创建的位图,但仅在最小化并再次呈现后才渲染. 我遵循以下步骤:,但只能在load_form之外的屏幕上呈现位图. 如果我放了代码: using System.Drawing; ... Graphics graphicsObj; myBitmap = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, Imaging.PixelFormat.Format24bppRgb); graphicsObj = Graphics.FromImage(myBitmap); Pen myPen = new Pen(Color.Plum, 3); Rectangle rectangleObj = new Rectangle(10, 10, 200, 200); graphicsObj.DrawEllipse(myPen, rectangle
8 2024-04-26
编程技术问答社区
C# 从运行时的文本框中获取文本
你好,我正在制作一个有2个文本框和2个按钮的程序 当我按添加按钮时,它将使用此代码制作2个新的文本框: private void ADD_ROW_Click(object sender, EventArgs e) { //Make the NEW_TEXTBOX_1 HOW_FAR += 1; TextBox NEW_TEXTBOX_1 = new TextBox(); NEW_TEXTBOX_1.Name = "NAME_TEXTBOX_" + HOW_FAR.ToString(); //Set NEW_TEXTBOX_1 font NEW_TEXTBOX_1.Font = new Font("Segoe Print", 9); NEW_TEXTBOX_1.Font = new Font(NEW_TEXTBOX_1.Font, FontStyl
12 2024-04-26
编程技术问答社区
边缘混合的多边形
我正在尝试找到最佳的方法,以逐渐融合到背景颜色的边缘中绘制多边形.我正在将多边形绘制到位图,因此目前我正在使用System.Drawing的图形类. 多边形将是一个混合面具,我没有问题来绘制黑色和白色的polgon.但是我希望它们在一定量的像素上逐渐在两种颜色之间过渡,假设50像素(应该指定大小). 我遇到了Pathgradiantbrush,但找不到指定过渡区域大小的方法.使用该刷子,过渡似乎取决于多边形的大小和形状,而不是固定大小. 绘制此类多边形的最佳方法是什么? 解决方案 正如您在另一个答案中看到的那样,梯度刷确实填充了中心梯度的路径或多边形;您可以设置中心点,但它们仍然不会真正遵循多边形的边缘: 您可以像我为上述结果一样,通过创建Transparent和合适的Positions来影响每个颜色带的相对宽度距边界矩形的距离仍将确定其绝对宽度.有关muliticolor梯度刷子示例 所以,除非您的多边形几乎是圆形,否则您需要以不同的方式进行.
6 2024-04-26
编程技术问答社区
System.Drawing.DrawString()诡异地包裹长字符串
更新:我想用帮助我解决问题的代码回答自己的问题.它是由布拉德利(Bradley)提交的,但对我工作进行了调整,也可能会帮助其他人.但是我无法回答,直到重新开放.链接的副本提供了一种方法,但没有代码.基于代码的答案对社区有所帮助 我在控制台应用程序内部图像上绘制的文本的格式遇到了一些问题.我要绘制的文字是: bas2016 = ptr = E30BAS2010 =(S20)$ W30 $ PTO2016 = N5W20N5(W20N10)(S10W20)S5W5S5E10N10(E15N5)(E15N5)(S5E15)(S5E15) S5(E20S10)(N10E20 )N5E5N5W10S10(W15S5)(N5W15)N10W25 $ E25S10(E15S5)(N5E15)N10E10N15W65 $ E65N15 $. 我的方法调用是: RectangleF rectF = new RectangleF(0, 0, 320, 320); graphics.
8 2024-04-25
编程技术问答社区
使用C#在桌面上绘图
我正在尝试使用C#在桌面上绘制矩形.找到一些解决方案后,我得到了这些: using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; namespace Test { public partial class Form1 : Form { [DllImport("User32.dll")] public static extern IntPtr GetDC(IntPtr hwnd); [DllImport("User32.dll")] static extern int ReleaseDC(IntPtr hwnd, IntPtr dc); public Form1() { InitializeCompon
12 2024-04-25
编程技术问答社区
从缩放的小尺寸图像中获得相同的矩形位置
我正在尝试处理一个大尺寸的图像.由于处理需要太多时间来完成图像,然后再处理图像.处理后,我可以在小尺寸的图像上绘制矩形.我可以翻译如何翻译该矩形与原始未量图像的坐标IE:在未量化图像上的相同位置绘制矩形. 我正在使用以下代码调整图像大小 public static Size ResizeKeepAspect(Size CurrentDimensions, int maxWidth, int maxHeight) { int newHeight = CurrentDimensions.Height; int newWidth = CurrentDimensions.Width; if (maxWidth > 0 && newWidth > maxWidth) //WidthResize { Decimal divider = Math.Abs((Decimal)newWidth / (Decimal)maxWidth);
10 2024-04-25
编程技术问答社区
便携式类库-参考类型'MarshalByRefObject'声称它定义在'mscorlib'中,但找不到它。
我有一个普通的类库,其函数将字节数组转换为图像. 现在,我已经删除了该类库,并创建了一个具有相同名称的便携式类库,现在代码似乎不再起作用,并在" Fromstream"函数上给我一个错误: 引用类型"元帅"声称它是在" mscorlib"中定义的,但找不到它 using System; using System.Drawing; using System.IO; namespace App.Converters { public static class Converter { public static Image ToImage(this byte[] byteArray) { try { return Image.FromStream(new MemoryStream(byteArray)); }
8 2024-04-25
编程技术问答社区
如何将System.Drawing.Color分配给Microsoft.Office.Interop.Excel.ColorFormat
示例代码如下, Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor = System.Drawing.Color.Red; 返回错误.不能隐式转换类型,一个是结构,另一个是颜色. forecolor.rgb是 int 类型,我只能从color.red.r.r,color.red.g and color.red.b中获得3个ints.如何分配我要预测属性的颜色? 解决方案 尝试属性ForeColor.RGB ,例如 Chart.SerialsCollection(1).Point(1).Format.Fill.ForeColor.RGB = System.Drawing.Color.Red.ToArgb(); 其他解决方案 如注释中所建议的,使用 colortranslator.toole Chart.SerialsCollection(1).Point(1).Format.Fi
8 2024-04-25
编程技术问答社区
在c#中画出春天的样子
如何使用C#绘图类绘制弹簧 解决方案 这比C#一个更像是一个数学问题.您想要的是派生一个参数方程您希望绘制的曲线. 随着该操作并填充一个点对象的数组,并带有特定步骤的一个间隔的参数方程值(步骤越小,最终绘图看起来就越像实际的形状).然后,您可以使用g.drawlines( msdn:drawlines )表面上的实际曲线. 您可以通过修改笔对象的参数来编辑行的宽度,颜色和其他属性. 您的实际代码看起来像这样: void DrawSpring (Graphics g) { List points = new List(); double step = 0.01; for(double t = -2; t
6 2024-04-25
编程技术问答社区
没有找到GetPixel方法
我有一个简单的程序,并且包括system.它说找不到.这样做的原因是什么? using System.Drawing; namespace isolatepixels { class Program { static void Main(string[] args) { System.Drawing.Image image1 = System.Drawing.Image.FromFile(@"C:\1.jpg"); int x, y; // Loop through the images pixels to reset color. for (x = 0; x
8 2024-04-25
编程技术问答社区
在Microsoft Dynamics CRM 2015中像流程箭头一样定制TabPage标签
我希望Windows表单应用中的TabControl看起来像这样: https://technet.microsoft.com/en-en-us/en-us/library/library/library/dn531164.aspx 我有一个具有过程流的应用程序,每个选项卡都是我想用这些漂亮的箭头表示的过程阶段.我知道OnPaint和System.绘制,但我无法使这些标签看起来不错. 我尝试处理tabcontrol.drawitem事件并绘制箭头,但我对外观不满意. private void tabControl1_DrawItem(object sender, DrawItemEventArgs e) { Rectangle rect = e.Bounds; int offset = 10; Point p1 = e.Bounds.Location; Point p2 = new Point(e.Bounds.X + e.Bounds
4 2024-04-24
编程技术问答社区
C#-异步在面板上绘图
在我的Winforms应用程序中,我正在尝试重新创建Monte Carlo方法以近似Pi.表单本身由一个盒子组成,其中用户提供了我想绘制的点和面板的数量和面板.但是,对于此示例,让我们假设金额将是恒定的. private int Amount = 10000; private int InCircle = 0, Points = 0; private Pen myPen = new Pen(Color.White); private void DrawingPanel_Paint(object sender, PaintEventArgs e) { int w = DrawingPanel.Width, h = DrawingPanel.Height; e.Graphics.TranslateTransform(w / 2, h / 2); //drawing the square and circle in which
6 2024-04-24
编程技术问答社区
为什么System.Drawing + ClearType字体有难看的黑色碎片?
我正在使用以下C#代码来制作带有文本的图片 // Create font. Parameter is a global variable Font objFont = new Font(fontname, fontsize, fontstyle, System.Drawing.GraphicsUnit.Pixel); // Grab an existing image from picture box. (target is picturebox's name) Bitmap result; if (target.Image != null) { result = new Bitmap(target.Image); } else { result = new Bitmap(targe
18 2024-04-24
编程技术问答社区
如何调整通过程序创建的位图的大小,使之与上面的文字相匹配?
i具有以下.ASHX页面,该页面采用一些查询字符串参数,并返回一个图位图,其中包含在其上的指定文本. 我遇到的问题是,当我真正想要的是要使位图仅足够大以包含所有文本时,我目前只是手动将位图的初始大小设置为100 x 100. 我该怎么做? public void ProcessRequest (HttpContext context) { context.Response.ContentType = "image/png"; string text = context.Request.QueryString["Text"]; //set FontName string fontName; if (context.Request.QueryString["FontName"] != null) { fontName = context.Request.QueryString["FontName"]; }
12 2024-04-23
编程技术问答社区
缩放模式下图片框的矩形位置平移导致Y坐标为负数
我正在使用以下类Ref-在Zoom模式下翻译矩形位置图片框 将位图内的矩形选择转换为在UI中绘制的框架控件. public class ZoomFactor { public ZoomFactor() { } public PointF TranslateZoomPosition(PointF coordinates, SizeF containerSize, SizeF imageSize) { PointF imageOrigin = TranslateCoordinatesOrigin(coordinates, containerSize, imageSize); float scaleFactor = GetScaleFactor(containerSize, imageSize); return new PointF(imageOrigin.X / scaleFactor, imageOrigin.
10 2024-04-23
编程技术问答社区
移除图像的圆形透明部分 c#
我在位图上创建一个圆圈,但想在其中有一个洞.塞尔奇呆了半小时后,我只找到了将图像裁剪成圆圈的方法.很难的是,中间的孔应该是图像的其余部分. 感谢您的任何帮助. 解决方案 开始很简单:通过执行g.Clear(Color.Transparent)创建一个透明的位图,然后绘制/填充颜色的圆圈. 下一步有点棘手:您接下来想用透明度绘制孔. 要这样做,您需要将图形对象切换到右CompositingMode;默认值为SourceOver,但您想要SourceCopy.前覆盖层 alpha值会产生混合颜色.后者将做我们想做的事情:通过复制绘制颜色包括alpha 就在旧上. 这是一个示例: Bitmap bmp = new Bitmap(500, 500); using (Graphics g = Graphics.FromImage(bmp)) { g.Clear(Color.Transparent); //g.SmoothingMode = Sm
8 2024-04-23
编程技术问答社区
用绘画事件移动物体
我明天要进行测试,我们必须使用油漆事件重新绘制我们的对象,我们可能不会使用计时器. 正如MSDN所说:"重新绘制时,绘制事件是在重新绘制时提出的." ,但这是我已知的,只有在形式最小化或不可见的和可见的后才发生时才发生. 我的代码: public partial class Form1 : Form { public Graphics drawArea; public int xPos, yPos; public Form1() { InitializeComponent(); } private void Form1_Paint(object sender, PaintEventArgs e) { drawArea = e.Graphics; DrawUser(); } private void Form1_KeyDown(object send
12 2024-04-23
编程技术问答社区
三种System.Drawing方法表现为绘制速度慢或闪烁不定。解决方案?或其他选择?
我正在通过系统进行一些图形. 我在队列中持有数据,并且正在绘制(绘制)将数据绘制到三个图片框上 此方法填充图片框,然后将图形滚动. 所以不要在上面的图纸的顶部绘制(和渐变的混乱),我找到了2个绘制图形的解决方案. 致电 plot.Clear(BACKGOUNDCOLOR)在抽奖循环[块注释] 之前 尽管这会导致闪烁从进行实际绘图循环的时间出现. 致电 plot.DrawLine(channelPen[5], j, 140, j, 0);在每个绘制线之前[注释] 尽管这会导致图纸开始确定,然后很快放慢脚步到爬网,就好像已在draw命令之前放置了等待命令. 这是参考的代码: /*plotx.Clear(BACKGOUNDCOLOR) ploty.Clear(BACKGOUNDCOLOR) plotz.Clear(BACKGOUNDCOLOR)*/ for (int j = 1; j
4 2024-04-23
编程技术问答社区