Tag: 图形

使用System.Drawing概述文本?

我有以下代码。 有没有简单的方法来概述我正在写的文字? var imageEncoder = Encoder.Quality; var imageEncoderParameters = new EncoderParameters(1); imageEncoderParameters.Param[0] = new EncoderParameter(imageEncoder, 100L); var productImage = GetImageFromByteArray(myViewModel.ProductImage.DatabaseFile.FileContents); var graphics = Graphics.FromImage(productImage); var font = new Font(“Segoe Script”, 24); var brush = Brushes.Orange; var container = new Rectangle(myViewModel.ContainerX, myViewModel.ContainerY, myViewModel.ContainerWidth, myViewModel.ContainerHeight); var stringFormat = new StringFormat {Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center}; graphics.DrawString(customizationText, […]

如何在C#中将Graphics对象保存为图像?

我有面板和各种控件。 我想将此面板的图像保存到文件中,我该怎么做? 我需要做一些截图,但我需要在我的应用程序中使用某个面板的图像,我想在我的应用程序中点击一下按钮。 最好的问候,Primoz 编辑:我也使用此代码在此面板上绘制 Graphics g = chartTemperature.CreateGraphics(); g.DrawLine(p, prevPoint, e.Location); prevPoint = e.Location; 但后来我没有把它变成图像。 为什么,以及如何解决这个问题? 编辑2: namespace Grafi { public partial class Form1 : Form { bool isDrawing = false; Point prevPoint; public Form1() { InitializeComponent(); } private void chartTemperature_MouseDown(object sender, MouseEventArgs e) { isDrawing = true; prevPoint = e.Location; } private void […]

如何获取和设置图像的propertyitems

我试图理解Bitmap或Image的这两种方法。 一个是.SetPropertyItem() ,另一个是.GetPropertyItem() 。 我完全混淆了文档说我要设置属性项的方式。 从Microsoft文档中,它声明我们应该通过图像中已存在的属性项的id选择属性项,为该属性项提供新ID,设置属性,然后使用该检索到的属性设置image属性项项目。 这太奇怪了,但真正让我感到的是,我们不能只将属性项的id设置为我们必须将属性项id设置为属性项ID列表中已存在的id的任何ID。 令人困惑的是,我正在使用已经通过其他方式设置并覆盖其属性的属性,然后将其添加回图像,其中包含来自属性ID列表的其他现有ID。 我在这里想念的是什么? 有没有办法简单地创建一个新的PropertyItem,然后将具有任何给定ID的属性项添加到图像或位图? 这是我正在谈论的一个例子。 20752的ID是图像已有的属性,当我设置PropertyItem的ID时,20753是Image所具有的ID。 这将成功设置属性项。 private void Form1_Load(object sender, EventArgs e) { string path = Environment.CurrentDirectory + @”\sample.png”; Image image = Image.FromFile(path); PropertyItem pi = image.GetPropertyItem(20752); pi.Id = 20753; pi.Type = 1; pi.Value = Encoding.UTF8.GetBytes(“MyImageInfo”); pi.Len = pi.Value.Length; image.SetPropertyItem(pi); image.Save(Environment.CurrentDirectory + @”\sample2.png”); } 这将成功检索PropertyItem。 private void Form1_Load(object […]

如何在C#中剪切一部分图像

我不知道如何从其他大图像切割矩形图像。 假设有300 x 600 image.png。 我只想用X:10 Y 20,200,高度100切割一个矩形,并将其保存到其他文件中。 我怎么能在C#中做到这一点? 谢谢!!!

绘制有向非循环图:最小化边缘交叉?

以树forms在DAG中布置顶点(即顶部没有内边的顶点,顶点仅依赖于下一层上的顶点等)相当简单,没有图形绘制算法,如Efficient Sugiyama。 但是,是否有一个简单的算法可以最大限度地减少边缘交叉? (对于某些图形,可能无法完全消除边缘交叉。)图片说千言万语,所以有一种算法会暗示没有交叉边缘的东西 。 ( 与此相比 )。 编辑:结果 我已经接受了Senthil的建议graphviz / dot – 快速浏览文档确认它很容易用作库或外部工具 ,并且输出格式非常容易解析 。 然而,我最终选择使用GraphSharp,因为我已经在使用.NET等(虽然它绝对不像dot那么强大)。 结果是“足够好”,并且通过一点边缘路由和调整可以做得更好(模糊文本是因为3.5 WPF )。 自动布局图http://public.blu.livefilestore.com/y1pEY8I95GtlzcxZzhDMhhKoUyejT_sVVZ4jlsDK2fdl6XAR4WV4-yuSesY6chXokmAZxdJXZ4Bv674TqwpT1-fOg/dag3.gif 这是完整的 C#代码(这是引用QuickGraph或GraphSharp的所有代码 – 是的;就这么简单): internal static class LayoutManager { private const string ALGORITHM_NAME = “EfficientSugiyama”; private const bool MINIMIZE_EDGE_LENGTH = true; private const double VERTEX_DISTANCE = 25; private const double LAYER_DISTANCE = 25; private […]

面板图表将在表单最小化后进行,C#

我的表单中有一个名为Pan_Paint的面板,我的代码如下: Graphics graph = Pan_Paint.CreateGraphics(); graph.FillEllipse(new SolidBrush(Blue), 10, 10, 100, 100); 当我缩小表格时,以及当我恢复它时,线条将消失。 或者当我按Tab键时,同样的事情会发生。 我该怎么做才能解决这个问题? 谢谢。

如何在WinForms中手动获取Graphics对象的实例?

我知道如何使用Graphics类型的对象(至少我能够渲染图像)但我总是通过传递从OnPaint方法检索的图形对象来做到这一点。 我想在应用程序打开时显示一个图像(即在Form_Load方法中),但不知道如何获取我可以使用的Graphics对象的实例? 谢谢

以编程方式制定图像大纲(最好是C#/ C ++编码,或伪编码)

我想向逻辑上的任何人请求帮助,以及制定图像轮廓的更好的示例代码。 为了更清楚,我说的是一个透明的图像。 比方说,我有一个中间有多边形的PNG图像,或者更好的岛屿顶视图。 现在,我想跟踪轮廓并在其上设置颜色。 就像Adobe Photoshop中的效果’笔画’一样。 我已经完成了那么多,我已经创建了一个跟踪轮廓的程序。 但我的问题是,它是线性扫描。 从左到右,然后向下,然后再从左到右。 我相信你明白了。 我希望跟踪流动,就像你手动跟踪它一样。 跟你一样跟踪圈子。 其目的是将其用作精确hover多边形的触发区域。 而且我的问题是,例如,有两个岛。 我希望我的疑问很明确。 任何建议,样品都表示赞赏。 但如果它是ac#代码forms或伪代码并有一些解释,那就更好了。 非常感谢提前。 – 增加: 此外,我想(我想我已经忘记提及)以顺序方式记录笔画的坐标。 所以我以后可以操纵它们。 这就是为什么我想以流动的方式制作概述逻辑。 这是我正在寻找的算法。 非常感谢!

绘制低不透明度的填充矩形

我有一个带有C#语言的Windows窗体应用程序中的图片的PictureBox。我想在picturebox的某个位置绘制一个FillRectangle。但我还需要看到图片框的图片。我可以绘制这个低不透明度的矩形来看图片盒的形象 ?

如何在C#中validation图像文件格式

有没有人知道脚本来validation给定图像的文件格式是什么。 目前我正在填充图像对象,查看它的高度,宽度和分辨率。 我没有看到解释文件格式的此对象的任何特定属性。 我想检查jpg,AI,PSD,High Jes Jpg,Bitmap和Tiff。 这是我目前的脚本: protected bool IsValidImage(HttpPostedFileBase file, string fileName) { //verify that the image is no more than 648 wide and 648 pixels tall Image imgPhoto = Image.FromStream(file.InputStream); if (imgPhoto.Width > 648) return false; if (imgPhoto.Height > 648) return false; if (imgPhoto.HorizontalResolution != 72 || imgPhoto.VerticalResolution != 72) return false; return […]