Tag:

如何在像素艺术编辑器中优化绘制区域

我有像素艺术创作者程序,我在canvas上有一个矩形(像素?)。 这是很好的解决方案,不是很大的(例如128×128)。 如果我想在canvas上创建1024×1024矩形,这个过程非常长,ram使用量约为1-2 gb,之后程序运行速度非常慢。 如何优化这一点,或创造更好的解决方案?

在运行时对齐控件时的Snap-To行

我有一个应用程序,用户可以在窗体上拖动控件。 但他们要求我使用Snap-To线来简化控件的对齐。 我不知道偷偷摸摸的行以及如何实现它们 – 我看过: http://msdn.microsoft.com/en-us/library/ms752100.aspx Adorner’s,但它说这只适用于WPF。 我在WinForms中尝试过但是(正如预期的那样)没有用。 如何在我的应用程序中获取对齐线(类似于VS中的那些)? 谢谢 巴尔

在图像上绘制边框

我正在尝试制作一个掩码生成器来生成图像的多边形。 这是我的代码。 Bitmap bmp = new Bitmap(file); int w = bmp.Width; int h = bmp.Height; List vertices = new List(); for (int y=0; y<h; y++) { bool rowbegin = false; for (int x=0; x<w; x++) { Color c = bmp.GetPixel(x, y); if (!rowbegin) { // Check for a non alpha color if (cA != Color.Transparent.A) […]

如何从位图获取Bitsperpixel

我有一个第三方组件,它要求我从位图给它bitsperpixel。 获得“每像素位数”的最佳方法是什么? 我的出发点是以下空白方法: – public int GetBitsPerPixelMethod( system.drawing.bitmap bitmap ) { //return BitsPerPixel; }

使用System.Drawing绘制圆圈

我有这个代码绘制一个矩形(我试图重新制作MS Paint) case “Rectangle”: if (tempDraw != null) { tempDraw = (Bitmap)snapshot.Clone(); Graphics g = Graphics.FromImage(tempDraw); Pen myPen = new Pen(foreColor, lineWidth); g.DrawRectangle(myPen, x1, y1, x2-x1, y2-y1); myPen.Dispose(); e.Graphics.DrawImageUnscaled(tempDraw, 0, 0); g.Dispose(); } 但是,如果我想绘制一个圆圈,会发生什么变化呢? g.DrawRectangle(myPen, x1, y1, x2-x1, y2-y1);

C#Draw Line OnPaint()vs CreateGraphics()

问题:如何从OnPaint()方法以外的方法正确绘制winform? 附加信息:我现在的代码在OnPaint()方法中为TicTacToe游戏绘制了一些背景线。 然后我使用Mouse_Click事件并运行此代码显然是不正确的: private void TicTacToe_MouseClick(object sender, MouseEventArgs e) Graphics g = this.CreateGraphics(); g.DrawEllipse(this.penRed, this.Rectangle); 由于我不理解的原因,它确实绘制了圆圈,但是当最小化或移动窗体离开屏幕时,它会擦除​​圆圈而不是OnPaint()方法中的线条。

将面板保存为图像

我正在做这个油漆应用程序。 这很简单。 它由一个我将绘制的面板组成,然后最终我将保存为JPG或BMP或PNG文件。 我的应用程序工作完美,但我遇到的问题是,当我保存输出不是面板上绘制的黑色图像没有什么只是黑色。 我的所有工作都被保存为 Thepic = new Bitmap(panel1.ClientRectangle.Width, this.ClientRectangle.Height); 在我的鼠标(向下,向上的东西)上 snapshot = (Bitmap)tempDraw.Clone(); 并且它保存了正常的工作但是再次声音是黑色的图像不是面板包含的内容。

生成员工卡

我们公司想为我们的员工打印员工卡,所以我们准备了一个模板,其中包含每个人的照片,姓名和部门的占位符。 我们有一个数据库表,其中包括每个人的照片,名称和部门的路径。 我想知道是否有可能遍历该表并将人员数据添加到卡模板中并保存。 我正在使用C#.Net,但如果你知道一个更好的解决方案,我很乐意听。

如何绘制更新行

我的目标非常简单。 想象一下,打开MSPaint,单击线条工具,按住鼠标,然后拖动它。 它会锚定您单击鼠标的起始坐标,并不断绘制并重新绘制一条线到当前位置。 除了我在C#中尝试这样做之外并没有像我希望的那样好。 [DllImport(“user32.dll”)] static extern IntPtr GetDC(IntPtr hWnd); [DllImport(“User32.dll”)] static extern int ReleaseDC(IntPtr hwnd, IntPtr dc); protected override void OnPaint(PaintEventArgs e) { endingPoint = GetMouseCoords(); DrawLine(startingPoint, endingPoint); } private void DrawLine(Point startingCoords, Point endingCoords) { IntPtr desktop = GetDC(IntPtr.Zero); Pen pen = new Pen(Brushes.Red, 3); using (Graphics g = Graphics.FromHdc(desktop)) { g.DrawLine(pen, startingCoords.X, […]

如何在C#中为canvas上的线设置动画?

你会如何在屏幕上画一条线? 我试图在C#/ WPF项目中的canvas上设置一条线。 我想使用C#代码而不是XML。 谢谢。