gdi+相关内容

从鼠标位置缩放和平移图像

问题:尝试使用Paint事件中的转换将鼠标(或鼠标位置)上的图像缩放(缩放),将位图原点转换为鼠标位置,然后缩放图像并将其原点返回. 图像跳转,并且在平移鼠标位置时无法从重定位的原点缩放. 正确旋转,缩放和平移功能,而无需转换为鼠标位置. 在Windows 10 1909中使用Visual Studio在.Net 4.7.2上运行 v18363.778 相关代码块: pr ..
发布时间:2020-11-20 06:24:49 C#/.NET

在按钮上单击绘制形状

我创建一个Windows Forms应用程序,并且想要在Button单击上绘制形状. 如何在Button_Click事件中调用Form_Paint? 解决方案 要用手抬起油漆,请阅读此SO帖子(基本上调用Invalidate()方法) SO帖子:我怎么称呼绘画事件? 但是,您可能需要具有某种内部"drawshape"标志,您可以在单击按钮时设置/清除该标志,并检查内部的pain ..
发布时间:2020-11-13 02:35:42 C#/.NET

从右向左收缩Form时不会调用面板的Paint事件吗?

我有一个窗体,该窗体有一个父面板,有一个子面板,我在其中使用绘图机制绘制项目时,它按预期运行良好,但是当我将窗体从右向左缩小时,它不会调用子面板绘画事件,而如果我从左向右缩小一点并再次展开,则称为绘画事件,我该如何解决? 下面是我的代码. private void canvas_Paint(object sender, PaintEventArgs e) { ..
发布时间:2020-11-13 02:35:39 C#/.NET

如何从旧版.NET Framework的托管代码将Direct2D渲染器初始化为GDI上下文

在 .NET Framework 3.5 上运行的 Windows窗体中,使用旧版桌面应用程序托管代码(由 C#和VB 项目组成) (由于超出此问题范围的原因,无法将其迁移到较新的.NET), 如何将代码从GDI +过渡到 Direct2D ?还是可能要使用Direct3D? 另一个限制是,最终的应用程序可以在 Windows 7 上运行,但是,如果这是使它运行的唯一方法,我们将迁移到Win ..
发布时间:2020-11-13 02:35:29 其他开发

在面板控件中滚动GDI像素

我们如何使Panel控件滚动其中的任何内容?我不是在谈论控件或用户控件或自定义控件.我只说像素.用GDI +绘制: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; us ..
发布时间:2020-11-13 02:35:26 C#/.NET

调用Bitmap.getHBitmap()时GDI +中的通用错误

我正在编写一个应用程序,该应用程序的一部分在Logitech G15v2键盘的LCD上绘制图像.在大多数情况下,该功能都可以正常运行,但是在运行一段时间后,其中一行会抛出"Generic Error in GDI+" 根据堆栈跟踪,问题出在Bitmap.GetHbitmap(): at System.Drawing.Bitmap.GetHbitmap(Color background) ..
发布时间:2020-11-13 02:35:22 C#/.NET

如何旋转图像,然后移至左上角0,0,而不切断图像

如何旋转图像,然后将其移动到左上角0,0,而不切断图像. 请阅读代码中的注释.我陷入了第3步 我认为使用三角学应该可以解决这个问题. 谢谢 private Bitmap RotateImage(Bitmap b, float angle) { //create a new empty bitmap to hold rotated image Bitmap retu ..
发布时间:2020-11-13 02:35:15 C#/.NET

c#GDI +,在循环中创建LinearGradientBrush(内存泄漏)

今天我遇到了一些难题.我创建了一个使用GDI +绘制表格的应用程序.每秒由计时器触发一次绘图. draw方法使用for循环遍历对象集合,如果它们处于特定状态,则绘制它们. 我想使用LinearGradientBrush绘制它们只是因为它看起来比简单的Brush好很多.看看下面的 //minutes foreach (Led l in Minute ..
发布时间:2020-11-13 02:34:06 C#/.NET

C#-无法在Windows XP中打开图像,但在Windows 7中可以使用相同的代码

我有两个tiff图像,一个是黑白图像,另一个是灰度图像8. 当我尝试打开它们时,我需要在图片框中显示它们: Image.FromFile("path"); BW一个打开都没有问题,灰度一个给我一个例外:“内存不足" 只有当我在WinXP SP3计算机上执行代码时,这两种情况才会发生,装有Windows 7的同事在两种情况下都没有问题 有什么想法吗? 更多信息:MS ..
发布时间:2020-11-13 02:33:04 C#/.NET

TextureBrush内存不足异常

我正在尝试在另一张图像的顶部放置水印.这是我的代码: var imgPhoto = Image.FromFile(filePath); var grPhoto = Graphics.FromImage(imgPhoto); var point = new Point(imgPhoto.Width - imgWatermark.Width, imgPhoto.Height - imgWate ..
发布时间:2020-11-13 02:32:58 C#/.NET

加快图像处理

这是我的问题如何处理的后续操作图像作为CAD应用程序的背景 我应用了大小调整/重采样代码,但没有任何区别.我敢肯定我对GDI +等的了解不多,所以如果我感到困惑,请原谅. 我正在使用第三方图形库(Piccolo).除了均匀地包装GDI +外,我还不知道它到底是做什么的. 我的测试是在不同的缩放级别旋转显示-这是导致性能最差的过程.我知道我正在旋转相机视图.在高达1.0的缩放级别下 ..
发布时间:2020-11-13 02:32:55 C#/.NET

在Windows窗体上拖动时调整矩形大小

我在Windows窗体的顶部绘制了一个矩形,我想使用提供的其中一个手柄来调整它的大小! Rectangle areaRect = new Rectangle(100,100, 300, 300); Bool dragging = false; Point ptOld = new Point(0, 0); protected override void OnPaint(PaintEventAr ..
发布时间:2020-11-13 02:32:49 C#/.NET

在本机C ++中锁定GDI +位图?

我可以找到很多有关如何在托管c ++中执行此操作的示例,但对于非托管c ++则找不到. 我想尽可能高效地获取所有像素数据,但是我需要更多有关scan0的信息,以便我可以正确地遍历像素数据并从中获取每个rgba值. 现在我有这个: Bitmap *b = new Bitmap(filename); if(b == NULL) { return 0; } ..
发布时间:2020-11-13 02:32:45 C/C++开发

将操纵的图形绘制到另一个图形中

我想将操纵的图形绘制到另一个图形中: // I have two graphics: var gHead = Graphics.FromImage(h); var gBackground = Graphics.FromImage(b); // Transform the first one var matrix = new Matrix(); matrix.Rotate(30); gHea ..
发布时间:2020-11-13 02:32:42 C#/.NET

如何在图像上绘制透明形状

如何在图像上绘制形状以覆盖其中的内容并使之透明? 就像下面图片中间的透明孔一样. 编辑: 我通常在绘图时使用Graphics.FromImage(image),即 Graphics.FromImage(image).DrawRectangle(...) 但是我想在图像中间制作一个透明的孔或矩形. 解决方案 此方法利用了两个当我们要使用的位图加载时,(在这里,使用 ..
发布时间:2020-11-13 02:32:40 C#/.NET