如何使用c#从图像中裁剪十字矩形?

我想得到图像的一些特定部分,所以我正在裁剪图像。 但是,当我想得到一个与图像不平行的部分时,我会旋转图像然后裁剪。 我不想旋转图像并裁剪一个平行的矩形。 我想要的是,在不旋转图像的情况下,裁剪出与图像成一定角度的矩形。 有没有办法做到这一点? 我想我不能很好地表达自己。 这就是我想要做的: 示例图片 。 假设红色的东西是一个矩形:)我想从图像中裁剪出那个东西。 裁剪后,它不需要是天使。 所以mj可以躺下来。

使用C#连接到Mysql数据库 – 需要一些数据集

编辑 我显然不明白如何做到这一点。 在提供示例之后,我决定更多地阅读书籍,并尝试使用给出的示例来解决它。 谢谢。 编辑结束 我想连接到mySql DB,读取表/行,然后将它们写入控制台。 这段代码是否正确? 我在Visual Studio 2005中得到数据集错误。 代码不是我的,从网上得到它。 我只是修改了一下(变量名等)。 如果您有一个很好的教程,请发布链接。 =) /* Performing a SELECT statement using ADO.NET */ #region Using directives using System; using System.Data; using System.Data.SqlClient; using MySql.Data.MySqlClient; #endregion namespace testConnect1 { class SqlTest1 { static void Main() { string connectionString = “server = localhost user id = root […]

WinForms不同的DPI布局

以某种方式通过Visual Studio创建的表单和控件,设计器具有很强的自我扩展能力,具体取决于Windows的当前DPI /字体大小。 我的UI的一部分是一个标签控件,其中包含动态页面和标签/输入,具体取决于用户的选择。 创建这些时,它们使用的硬编码尺寸适合96 DPI。 在.Net中是否有自动方式来获取这些生成的控件并执行与设计器生成的控件相同的resize? 我想避免自己扩展控件,因为这是旧代码不易维护。

制作一个简单的搜索function,使光标跳转到(或突出显示)搜索的单词

我现在用了很长时间,试图找出问题,我认为这不会那么难。 这是交易: 我正在使用C#和WPF编写一个小应用程序。 我有一个包含FlowDocument的RichTextBox。 我在我的richtextbox下面添加了一个小文本框和一个按钮。 然后,用户键入他/她希望搜索的单词,并按下按钮。 然后,richtextbox将跳转到该单词的第一个出现位置。 它只是跳转到正确的行就足够了 – 它也可以选择,突出显示或放置光标 – 只要将richTextBox滚动到该单词,任何操作都可以。 继续按下按钮,然后跳转到该单词的下一个出现,依此类推,直到文档结束。 正如我所说 – 我认为这是一项简单的任务 – 但是我遇到了严重的问题。

如何在silverlight中拖放“盒子”

我有一个像这样的盒子,现在我试图拖放盒子,用矩形和其他对象我做了,但有了这个我不知道该怎么办。 这是我如何做框的代码 XAML: c#代码: public partial class MyBox : UserControl { public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register(“Header”, typeof(string), typeof(MyBox),null); public static readonly DependencyProperty TextProperty = DependencyProperty.Register(“Content”, typeof(string), typeof(MyBox),null); public string Header { get { return GetValue(HeaderProperty) as string; } set { SetValue(HeaderProperty, value); } } public string Text { get { return GetValue(TextProperty) as […]

从Visual Studio文本选择中获取Roslyn SyntaxToken(插入位置)

我试图在Visual Studio扩展包中的VSSDK和Roslyn SDK之间架起桥梁,并且一直很难用。 Visual Studio提供的ActivePoint.AbsoluteCharOffset与使用FindToken(offset)时从Roslyn获取的元素不匹配。 我很确定这与我的当前工作黑客的每一方如何计算EOL字符有关,但我不是100%,我的黑客将长期坚持。 我的黑客是这一行: charOffset += point.Line; 我在char偏移量上添加了行数,这似乎有效,所以我猜我正在添加所有被activepoint计数忽略的换行符。 助手 private VisualStudioWorkspace workspace = null; public RoslynUtilities(VisualStudioWorkspace workspace) { this.workspace = workspace; } public Solution Solution { get { return workspace.CurrentSolution; } } public Document GetDocumentFromPath(string fullPath) { foreach (Project proj in this.Solution.Projects) { foreach (Document doc in proj.Documents) { if (doc.FilePath == […]

在类库中包含视图

在之前的一个问题中,我发现了如何为MVC创建插件架构。 我不是那条道路上的那条路,但我确实有一种很好的分裂方式。 但是,有一件事让我感到烦恼的是,当它们在类库中时,它就是视图的智能化。 在核心MVC项目中开发它们然后将它们复制到一起是一件痛苦的事。 基本上我遇到的问题是我不太了解Visual Studio如何处理aspx文件。 我现在正处于测试阶段,我想我可以利用RC1附带的显式视图构建。 任何帮助,将不胜感激。 更新: 我知道在实际运行时整理出的所有视图,在Visual Studio中编辑它们我感兴趣。它们是否必须在Web类型项目中?

如何使用C#通过USB将原始ZPL发送到斑马打印机

我是初学C#程序员。 我有一个项目要求我通过USB将原始命令发送到Zebra打印机LP 2844并使其工作。 我做了很多研究,并试图找到一种方法来做到这一点。 我正在使用http://support.microsoft.com/kb/322091中的代码,但它无效。 根据我的测试,似乎我已经向打印机发送了命令,但它没有响应和打印。 我不知道这个。 有人可以帮我吗? 我正在使用按钮直接发送命令 private void button2_Click(object sender, EventArgs e) { string s = “A50,50,0,2,1,1,N,\”9129302\””; // Allow the user to select a printer. PrintDialog pd = new PrintDialog(); pd.PrinterSettings = new PrinterSettings(); if (DialogResult.OK == pd.ShowDialog(this)) { // Send a printer-specific to the printer. RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, s); MessageBox.Show(“Data sent to printer.”); […]

对复合集合进行排序

因此,WPF不支持CompositeCollections视图的标准排序或过滤行为,因此解决此问题的最佳做法是什么。 有两个或更多不同类型的对象集合。 您希望将它们组合成单个可排序和可过滤的集合(必须手动实现排序或过滤)。 我考虑过的方法之一是创建一个只有少数核心属性的新对象集合,包括我希望对集合进行排序的属性,以及每种类型的对象实例。 class MyCompositeObject { enum ObjectType; DateTime CreatedDate; string SomeAttribute; myObjectType1 Obj1; myObjectType2 Obj2; { class MyCompositeObjects : List { } 然后遍历我的两个对象集合来构建新的复合集合。 显然这是一种蛮力方法,但它会起作用。 我将获得新的复合对象集合上的所有默认视图排序和过滤行为,并且我可以在其上放置数据模板以根据实际存储在该复合项目中的类型正确显示列表项目。 有什么建议以更优雅的方式做到这一点?

我的代码中可能的优化?

为了解决欧拉项目问题5 ,我编写了以下程序: class p5 { const int maxNumber = 20; static void Main(string[] args) { Job(); // First warm-up call to avoid Jit latency var sw = Stopwatch.StartNew(); var result = Job(); sw.Stop(); Debug.Assert(result == 232792560); Console.WriteLine(result); Console.WriteLine(sw.Elapsed); Console.ReadLine(); } private static int Job() { var result = Enumerable.Range(1, int.MaxValue – 1) .Where( n => […]