gdi+相关内容

GDI + LockBits()/UnLockBits()异常

我的程序是用C#编写的,并且在低级使用位图进行操作.一切正常,但有时(非常少见,但稳定)例外发生“通用GDI +例外",并且很难重现这种情况. 函数LockBits()和UnLockBits()发生异常.它包含错误代码"-2147467259".在GDI +的语言上,它将是方法GdipBitmapLockBits并返回代码7或1. 什么样的原因可能导致这种情况? 任何答案都非常感 ..
发布时间:2020-11-13 02:31:37 C#/.NET

Windows/.NET的System.Drawing.Save(Stream,ImageFormat)中的错误.产生了错误的PNG

在某些特定情况下,System.Drawing.Save(Stream,Imageformat)创建损坏的PNG图像. 是否有避免这种情况的方法,例如: 我不需要使用第三方库,并且 我不需要检查PNG字节来知道是否需要“修复"某些东西? 复制步骤 创建一个System.Drawing.BitMap 向图像添加内容,以使其具有非常特定的PNG文件大小(“何时发生") 调 ..
发布时间:2020-11-13 02:31:29 C#/.NET

如何使用两个PointF创建RectangleF?

我创建了两个点,就像一条线.我想将其转换为矩形. 我该怎么办? 例如,这就是我画线的方式.但我希望它成为Rectangle private PointF start, end; protected override void OnMouseDown(MouseEventArgs e) { start.X = e.X; start. ..
发布时间:2020-11-13 02:31:26 C#/.NET

将GDI + PixelFormat转换为WPF PixelFormat

获取系统的最佳方法是什么. Windows.Media.PixelFormats 值等于 System.Drawing.Imaging.PixelFormat 吗? 解决方案 这是一种转换方式,所以让我们从这里开始,看看是否有人可以顶这个可怕的东西.它们相互之间的映射很好,因此编写切换用例应该相当容易. private static System.Windows.Media.Pixe ..
发布时间:2020-11-13 02:30:24 其他开发

从自定义PictureBox控件转换不同大小的图像的点(X,Y)

我必须批量处理几张图像,我必须在特定点(X,Y)上放置一些文本.有一个自定义控件,该控件衍生自Picturebox,允许用户拖动文本并将其放置在所需的位置. 对于两种图像,我分别设置了PictureBoxSizeMode 垂直图像 我设置了PictureBoxSizeMode.Zoom; 水平 对于填充了我设置的PictureBox的水平图像> PictureBoxS ..
发布时间:2020-11-13 02:29:20 C#/.NET

IIS&基于服务的Web图像生成-GDI,GDI +或Direct2D?

现在是2017年5月.我的老板要求我根据用户在浏览器中输入的文字来生成一些代码,以在我们的网站上制作一些自定义的网络图像. 服务器环境是运行IIS的Windows 2012,我对C#熟悉.从我的阅读中,我应该能够使用GDI +来创建图像,在其中绘制流畅的文本等. 但是,我的一位同事建议GDI +可能无法在Windows Server上运行,并且该GDI +基于较旧的32位GDI,因此将 ..
发布时间:2020-11-13 02:29:16 C#/.NET

透明化

因此,我试图将32x32的块恢复为透明,但是每次尝试将其设置为透明时,它只会保留已有的内容,我想将图像上的内容擦除为透明的,这是我尝试的代码 public Bitmap erase_tile(Bitmap bitmap, int x, int y) { Graphics device = Graphics.FromImage(bitmap); ..
发布时间:2020-11-13 02:29:12 C#/.NET

转换以英寸为单位的字体大小

我需要在Drawing.Font.Size(浮点数,?)和WPF FontSize(双倍,WPF像素)之间进行转换. 最后,我决定将字体大小以英寸为单位存储在数据库中. 如何将GDI字体大小转换为英寸,将WPF字体大小转换为英寸? sizeInInch = wpfFontSize / 96 sizeInInch = gdiFontSize / ? 我可以使用独立于DPI的东西 ..
发布时间:2020-11-13 02:29:09 C#/.NET

使用JPEG压缩.NET创建多页Tiff

是否可以使用.NET通过jpeg压缩创建多页tiff? 我可以使用LZW压缩创建tiff,但是文件非常大.看起来EncoderValue枚举(我用来设置压缩)甚至没有合适的成员. 解决方案 您可以查看 >> ,,在这里我将说明如何将现有的JPEG包装在一个简单的多页TIFF容器中. 但是还有其他多种可能性. FreeImage.Net (freeimage.sourceforge.n ..
发布时间:2020-11-13 02:29:03 C#/.NET

使用透明背景更改图像颜色

我需要使用c#(System.Drawings)将透明背景上带有绿色圆圈的图像加载到位图图像中. 那是容易的部分.但是,在将圆添加到较大图像之前,我需要先更改圆的颜色,而又不影响周围的透明度.就我而言,我需要将圆圈颜色更改为黄色,并将其添加为太阳. 我不能使用固定的黄色圆圈图像,因为所需的颜色是动态的. 因此在下面的代码中,如何在将图像添加到位图之前更改图像的颜色? Ima ..
发布时间:2020-11-13 02:28:58 C#/.NET

测量包裹的绳子

我正在尝试创建一个控件,该控件基本上允许我在彼此之间绘制不同的字符串. 但是,字符串的宽度不能大于控件的宽度. 为了解决该问题,我正在考虑将RectangleF对象传递给Graphics.DrawString方法.这将包装比传递的矩形的宽度宽的字符串.尽管这确实解决了如果字符串太大则无法看到整个字符串的问题,但是还有另一个问题.如果我要尝试这样的事情 Graphics g = e.Graph ..
发布时间:2020-11-13 02:28:51 C#/.NET

C#Winforms:如何更改System.Drawing.BItmap的DPI?

我需要将System.Drawing.Bitmap对象的DPI从默认值= 96更改为例如150.我找不到答案该怎么做,所以我在这里问:) 解决方案 Bitmap result = new Bitmap(width, height); result.SetResolution(dpi, dpi); ..
发布时间:2020-11-13 02:28:48 C#/.NET

ASP.NET创建缩略图服务器端

使用System.Drawing在ASP.NET应用程序中创建缩略图看起来非常容易.但是 MSDN会告诉您: 不支持在Windows或ASP.NET服务中使用System.Drawing命名空间中的类.尝试从这些应用程序类型之一中使用这些类可能会产生意外问题,例如服务性能下降和运行时异常. 我在这种GDI +代码中看到间歇性的“内存不足"错误.我开始怀疑这是原因. 人们如何进行服 ..
发布时间:2020-11-13 02:28:38 C#/.NET

c#DrawString-测量每个字符的边界框

在将字符串传递给Graphics.DrawString()之前,我想确切地知道每个字符的位置-不仅是偏移量和宽度,还包括它的精确的装订框,其中包含了上升/下降的数字,以便我可以在字符级别进行碰撞检测,而不是使用Graphics.MeasureString()给我的整个行高. 我似乎找不到任何可以准确返回每个字符边界框的示例.如何在c#/GDI +中完成此操作? 理想情况下,我想获得这张 ..
发布时间:2020-11-13 02:28:34 C#/.NET

避免处置系统定义的Pen和Brush实例

我了解在尝试处置系统定义的资源会导致引发异常. 如何检测(除了将Dispose()调用包装在try/catch中)之外,这些资源之一是引用系统定义的值还是用户定义的值似乎并不明显. 解决方案 不需要调用Dispose.垃圾收集的目的是消除这些要求. IDisposable的主要目的之一是允许类在资源受限的环境中清理非托管资源.如果不调用dispose方法,则在垃圾收集过程中对象 ..
发布时间:2020-11-13 02:27:32 其他开发

有没有办法以编程方式将文本添加到System.Drawing.Image?

我有一个用System.Drawing.Graphics DrawImage函数显示的System.Drawing.Image.该图像是警车,我想在警车上画一个单位编号.是否有捷径可寻? 解决方案 您可以使用// Create string to draw. String drawString = "Sample Text"; // Create font and brush. Font ..
发布时间:2020-11-13 02:27:25 C#/.NET