gdi+相关内容

续 - 车牌检测

从这个线程继续: 车牌检测有哪些好的算法? 我开发了我的图像处理技术来尽可能地强调车牌,总的来说我很满意,这里有两个示例. 现在是最困难的部分,实际检测车牌.我知道有一些边缘检测方法,但我的数学很差,所以我无法将一些复杂的公式翻译成代码. 到目前为止,我的想法是遍历图像中的每个像素(基于 img 宽度和高度的 for 循环)由此将每个像素与颜色列表进行比较,由此检查算法以查 ..
发布时间:2022-01-09 18:35:33 C#/.NET

Bitmap.Save 上的 ASP.NET 错误“异常 (0x80004005):GDI+ 中发生一般错误".

我有一个函数,它首先从磁盘读取图像,调整其大小,然后保存到另一个目录. 当我使用 Bitmap.Save(directory + theimagename) 时,它会返回我在问题标题中所述的错误. 我检查了目录是否正确,该目录中不存在给定的图像名称. 奇怪的是,相同的代码在本地机器上运行良好.但是当我将它上传到我的共享托管空间时,它就不起作用了. 代码如下. bmpOut ..
发布时间:2022-01-06 12:02:00 C#/.NET

使用抖动将 24 位位图转换为 16 位的好的、优化的 C/C++ 算法是什么?

我一直在寻找一种优化(即快速)算法,使用抖动将 24 位 RGB 位图转换为 16 位 (RGB565) 位图.我正在寻找 C/C++ 中的一些东西,我可以在其中实际控制如何应用抖动.GDI+ 似乎提供了一些方法,但我不知道它们是否会抖动.而且,如果他们确实抖动,他们使用的是什么机制(Floyd-Steinberg?) 有没有人有使用抖动进行位图颜色深度转换的好例子? 解决方案 正如 ..
发布时间:2022-01-06 11:50:44 C/C++开发

自动将位图修剪到最小尺寸?

假设我有一个 32bpp ARGB 模式的 System.Drawing.Bitmap.这是一个大的位图,但它主要是完全透明的像素,中间有一个相对较小的图像. 检测“真实"图像边界的快速算法是什么,这样我就可以剪掉它周围的所有透明像素? 或者,.Net 中是否已经有一个函数可以用于此目的? 解决方案 基本思想是检查图像的每个像素点,找到图像的上、左、右、下边界.要有效地执行此操 ..
发布时间:2022-01-06 11:49:57 C#/.NET

LockBits 图像旋转方法不起作用?

大家好.在厌倦了 Get/Set Pixel 和 RotateTransfom 的缓慢性能和古怪行为之后,我求助于使用 LockBits 进行 2d 位图图像旋转.所以这是我想出的代码,据我估计,它应该可以完美运行.没有. private static void InternalRotateImage(Bitmap originalBitmap, BitmaprotatedBitmap, Poi ..
发布时间:2022-01-06 11:44:34 C#/.NET

C++ gdi::Bitmap to PNG Image in memory

我正在尝试通过 tcp 将窗口的屏幕截图发送到服务器.获取屏幕截图没有问题(使用 GDIplus).网络对我来说也很容易.问题是试图将 gdi+ 位图转换为 png(在内存中)以从中获取数据并将其发送到服务器.有人可以帮我吗? 解决方案 Gdiplus 可以保存到文件,或者使用 IStream 保存到内存.请参阅 Gdiplus::Image::Save 方法 //获取gdi+位图Gdi ..
发布时间:2022-01-06 11:34:09 C/C++开发

如何将弯曲文本渲染为位图?

我目前正在动态创建位图并使用位图中的图形对象在其上绘制一个字符串,如下所示: System.Drawing.Graphics 图 = System.Drawing.Graphics.FromImage(bmp);graph.DrawString(text, font, Brush, new System.Drawing.Point(0, 0)); 这将返回一个矩形位图,其中的字符串从左到右直接 ..
发布时间:2022-01-06 11:33:19 C#/.NET

如何使用 GDI 将方形位图渲染为任意四边多边形?

我需要绘制一个正方形图像,映射或转换为编译时未知的四边多边形.我该怎么做? 详细解释 具体问题是使用非矩形地图投影渲染地图图块.假设我有以下磁贴: 而且我知道四个角点必须在这里: 鉴于此,我想得到以下输出: 方形图块可能是: 旋转;和/或 一端比另一端窄. 我认为第二项意味着这需要一个非仿射变换. 随机附加注释 四边形? 完全正确的说法是,瓷 ..
发布时间:2021-12-30 19:01:17 其他开发

GDI+ 中快速投影的算法

在 GDI 中为图像添加阴影的有效方法是什么? 现在我从我的形象开始: 我使用 ImageAttributes 和 ColorMatrix 将图像的 alpha 蒙版绘制到新图像上: colorMatrix = (( 0, 0, 0, 0, 0),( 0, 0, 0, 0, 0),( 0, 0, 0, 0, 0),(-1, -1, -1, 1, 0),( 1, 1, 1, 0, 1) ..
发布时间:2021-12-30 18:59:57 其他开发

如何检测单击 Windows 窗体中的一行

我有一个 winforms 应用程序 这是我的代码 使用系统;使用 System.Collections.Generic;使用 System.ComponentModel;使用 System.Data;使用 System.Drawing;使用 System.Linq;使用 System.Text;使用 System.Threading.Tasks;使用 System.Windows.For ..
发布时间:2021-12-30 18:55:26 C#/.NET

.NET 中的非仿射图像转换

.NET 库中是否有任何类、方法或任何算法来执行非仿射变换?(即不仅涉及旋转、缩放、平移和剪切的变换) 例如: (来源:last100.com) 非仿射变换还有其他术语吗? 解决方案 您发布的所有示例图像都可以使用 Quadrilateral Distortion 来完成.虽然我不能肯定地说四边形扭曲将涵盖所有非仿射变换. 这里有一个在 C# 中不太好的实现的链接. ..
发布时间:2021-12-30 18:54:37 其他开发

检测两条重合线段的重合子集

这个问题与: 如何确定GDI+中两条线的交点?(代数很好的解释,但没有代码) 如何检测两条线的位置段相交?(接受的答案实际上不起作用) 但请注意,一个有趣的子问题在大多数解决方案中都被完全掩盖了,即使存在三个子情况,这些解决方案也会为巧合情况返回 null: 重合但不重叠 接触点和重合 重叠/重合线子段 例如,我们可以这样设计一个 C# 函数: public sta ..
发布时间:2021-12-30 18:51:42 C#/.NET

如何使用计时器将淡入淡出过渡效果应用于图片框图像?

我正在尝试在两个 PictureBox 控件之间进行淡入淡出过渡. 每次时间过去时,我都使用 Timer 使用 GetPixel 和 SetPixel 更改两个图片框的不透明度. 现阶段问题是这段代码导致了异常: System.InvalidOperationException:对象当前正在其他地方使用 我尝试修改克隆的Bitmaps,而不是直接操作设置为控件Image属性的B ..
发布时间:2021-12-30 18:44:37 C#/.NET

在窗口上绘制位图时不需要的抗锯齿

我正在将图像渲染到 System.Drawing.Bitmap 中,然后将其绘制到窗口中,但是我可以看到边缘正在消除锯齿.如何防止这种情况? 一些更详细的信息.位图是这样创建的: new Bitmap (this.Width, this.Height, Imaging.PixelFormat.Format32bppArgb) 然后我将像素设置为 Color.Black 或 Color.W ..
发布时间:2021-12-30 18:44:08 C#/.NET

如何以像素为单位计算数字的正确宽度?

我有一个自定义控件,将来可能会有用户自定义的字体(缩放已经实现).我必须在两个数字下填充一个矩形,形成一个以 10 为基数的数字.我对零、一个或两个数字有不同的颜色. 使用字体 {Name = Microsoft Sans Serif Size=16} 和以下 Graphics.MeasureString 方法调用: g.MeasureString("00", Font);g.Measur ..
发布时间:2021-12-30 18:39:13 C#/.NET

绘制多个手绘折线或曲线图 - 添加撤消功能

我正在尝试创建一个具有撤消和重做功能的简单绘图应用程序.我假设您可以将您正在绘制的内容添加到列表中并调用列表来绘制所有内容.然后撤消应该只是删除最后添加的项目并重新绘制所有内容.问题是,如何将我绘制的内容添加到列表中并使用该列表撤消? 我正在使用位图重绘方法.我是这样画的: 点开始,结束;布尔绘画;私人列表myPoints = new List();私有无效 pnlMai ..
发布时间:2021-12-30 18:32:36 C#/.NET

嵌入字体导致崩溃

我有一个 WinForm 应用程序.我正在使用嵌入资源中的自定义字体. 它起初工作,但随后导致程序在一段时间后崩溃. 以下面的代码为例,如果我不断调整表单的大小,强迫它不断地重绘自己,它会在几秒钟内崩溃.我得到的消息是“Error in 'Form1_Paint()'".对象当前正在别处使用.'. 我究竟做错了什么?我怎样才能避免这种情况? 我从这里获得了字体. 谢谢. 导入 Syst ..
发布时间:2021-12-30 11:09:48 C#/.NET

如何找到实际的可打印区域?(打印文件)

为什么要找出这个神奇的矩形这么难? 在 OnPrintPage 事件中,我有 PrintPageEventArgs,我试图在最大可打印区域的范围内使用图形进行绘制. 我尝试过使用 PageBounds、PrintableArea、Graphics.VisibleClipBounds 等.都无法始终如一地获得绘图区域,尤其是从横向布局切换到纵向布局时.当您从横向切换到纵向时,Printa ..
发布时间:2021-12-28 00:00:45 C#/.NET

在不使用 Graphics 对象的情况下测量字符串?

我使用像素作为字体单位.在一个地方,我正在执行命中测试以检查用户是否在屏幕上某些文本的边界矩形内进行了单击.我需要为此使用 MeasureString 之类的东西.不幸的是,执行命中测试的代码位于库的深处,该库无法访问 Graphics 对象,甚至无法访问 Control. 如何在不使用 Graphics 类的情况下获取给定字体的字符串的边界框?当我的字体以像素为单位时,为什么我什至需要一个 ..
发布时间:2021-12-22 19:41:48 C#/.NET