Tag: 绘图

在C#中绘制video

我正在制作一个应用程序,允许用户应用某些工具来分析video和图像。 我需要帮助我如何在我的表单中加载到Windows媒体播放器中的video上绘制/写入并能够保存它。 它需要能够让用户在其上绘制手绘和形状。 提前致谢, 克里斯 :)

如何将位图像素复制到其他位图,保留C#中的alpha透明度?

有些人可以重写以下函数来使用任何优化机制吗? 我很确定这不是继续进行逐像素复制的方法。 我读过有关AlphaBlend或BitBlt的内容 ,但我不习惯本机代码。 public static Bitmap GetAlphaBitmap(Bitmap srcBitmap) { Bitmap result = new Bitmap(srcBitmap.Width, srcBitmap.Height, PixelFormat.Format32bppArgb); Rectangle bmpBounds = new Rectangle(0, 0, srcBitmap.Width, srcBitmap.Height); BitmapData srcData = srcBitmap.LockBits(bmpBounds, ImageLockMode.ReadOnly, srcBitmap.PixelFormat); try { for (int y = 0; y <= srcData.Height – 1; y++) { for (int x = 0; x <= srcData.Width – 1; […]

如何在C#中绘制面板?

嘿,我需要在C#中绘制一个面板,但是没有将我的绘图代码放在“panel1_Paint”中,我该怎么做? 顺便说一下,我正在使用WinForms。 更新 :我忘记了清楚,我不需要将绘图代码放在绘图处理程序中,因为我需要根据按钮的事件开始绘图。

为什么Wpf的DrawingContext.DrawText如此昂贵?

在Wpf(4.0)中,我的列表框(使用VirtualizingStackPanel)包含500个项目。 每个项目都是自定义类型 class Page : FrameworkElement … protected override void OnRender(DrawingContext dc) { // Drawing 1000 single characters to different positions //(formattedText is a static member which is only instantiated once and contains the string “A” or “B”…) for (int i = 0; i < 1000; i++) dc.DrawText(formattedText, new Point(….)) // Drawing 1000 ellipses: very […]

从UIElement生成BitmapSource

我试图生成一个基于UIElement的BitmapFrame 。 这是我的function: private BitmapFrame RenderToBitmap2() { RenderTargetBitmap renderBitmap = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32); DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); VisualBrush aVisualBrush = new VisualBrush(GenerateTestStackPanel()); drawingContext.DrawRectangle(aVisualBrush, new Pen(Brushes.Green, 2), new Rect(new Size(150, 150))); drawingContext.Close(); renderBitmap.Render(drawingVisual); return BitmapFrame.Create(renderBitmap); } 出于测试和调试的目的,我使用了一个额外的函数来创建一个简单的StackFrame,它应该创建一个可以表示的有效视觉元素: private StackPanel GenerateTestStackPanel() { // Create a red Ellipse. Ellipse myEllipse […]

c#的图形查看器/抽屉?

是否有一个很好的C#库用于绘制/可视化图形? 我在谈论节点路径可视化而不是线图等。 (最好是原生的,不是pstricks的包装或类似的东西)谢谢

C#:使用透明度将一个位图绘制到另一个位图上

我有两个位图,名为largeBmp和smallBmp。 我想将smallBmp绘制到largeBmp上,然后将结果绘制到屏幕上。 SmallBmp的白色像素应该是透明的。 这是我正在使用的代码: public Bitmap Superimpose(Bitmap largeBmp, Bitmap smallBmp) { Graphics g = Graphics.FromImage(largeBmp); g.CompositingMode = CompositingMode.SourceCopy; smallBmp.MakeTransparent(); int margin = 5; int x = largeBmp.Width – smallBmp.Width – margin; int y = largeBmp.Height – smallBmp.Height – margin; g.DrawImage(smallBmp, new Point(x, y)); return largeBmp; } 问题是,只要smallBmp透明,结果就会变得透明! 我只是想看看bigBmp,而不是它背后的内容。

使用DrawingContext绘制“L”

我需要在WPF中绘制(使用System.Windows.Media.DrawingContext )一个“ L ”。 继续进行的最佳方式是什么? 画2条线? 绘制PolyLineSegment ? (不确定如何) drawContext.DrawLine(myPen, topLeft, New Point(topLeft.X + 5, topLeft.Y)) drawContext.DrawLine(myPen, topLeft, New Point(topLeft.X, topLeft.Y + 5)) 实际上,我需要围绕一个带有可见角“L”的标签…… 我需要绘制 , 而不是使用模板或装饰器。

在wpf中的形状上绘制文本

你们当中有些人可能会觉得这个问题很沉闷,但我仍然不习惯wpf绘画。 我想在Rectangle上添加格式化文本,它在canvas上移动,我有一个提示来覆盖UIElement.OnRender方法。 但是我不知道是否应该覆盖canvas类或Shape类。 在任何正确的情况下,参考示例中描述的方法的drawingContext参数: http : //msdn.microsoft.com/en-us/library/bb613560.aspx#FormattedText_Object ? 文本最终是分配给形状还是视觉临时效果,不能随着canvas上的形状一起移动? 是否有任何进一步有效的方法在形状上绘制文字?

如何在Panel上绘制以使其不闪烁?

这是我的代码。 当我将光标移动到Form上时,圆圈正在移动,但它正在闪烁。 我怎样才能解决这个问题? public partial class Preprocesor : Form { int x, y; Graphics g; public Preprocesor() { InitializeComponent(); } private void Preprocesor_Load(object sender, EventArgs e) { g = pnlMesh.CreateGraphics(); } private void pnlMesh_Paint(object sender, PaintEventArgs e) { g.Clear(Color.White); g.FillEllipse(Brushes.Black, x, y, 10, 10); } private void pnlMesh_MouseMove(object sender, MouseEventArgs e) { x = eX; […]