gdi+相关内容
这在网络上似乎是一个臭名昭著的错误.以至于我一直无法找到我的问题的答案,因为我的场景不适合.当我将图像保存到流时抛出异常. 奇怪的是,这与 png 完美配合,但在 jpg 和 gif 时出现上述错误,这很令人困惑. 大多数类似的问题都与在没有权限的情况下将图像保存到文件有关.具有讽刺意味的是,解决方案是像我一样使用内存流...... public static byte[] Conv
..
我们遇到的问题是,有时会发生 AccessViolationException 并且绘制一个简单的组框,其背景为白色,顶部有一个红色叉号.我们无法可靠地重现这个错误,它只是不时发生. 我们没有做任何特别的事情,我们只是显示一个带有菜单、工具栏、主面板上的分组框和分组框内的一些超链接控件的主窗口. 从堆栈跟踪来看,它似乎是 Windows Forms 或 GDI+ 中的一个错误: Sy
..
我可能会说一个非常简单的程序.. #include #include 使用命名空间 Gdiplus;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR cmdLine, int nShow){//Gdiplus 变量GdiplusStartupInput mGdiplusStartupInput;ULONG_PTR mGdiplusT
..
我目前正在实现一个 ASP.Net 应用程序,该应用程序使用 GDI+ 进行服务器端渲染.第一个版本依赖于 32 位非托管组件,因此所有托管程序集都是为 x86 平台编译的.最后,我摆脱了这种依赖关系,现在可以将目标平台设置为 AnyCPU.由于应用程序可能用于处理大量数据,因此能够以 64 位运行它可能很有用.但是我读到在 x64 平台上使用 GDI+ 时性能会下降,但无法获得有关它的详细信息.
..
我目前正在实现一个 ASP.Net 应用程序,该应用程序使用 GDI+ 进行服务器端渲染.第一个版本依赖于 32 位非托管组件,因此所有托管程序集都是为 x86 平台编译的.最后,我摆脱了这种依赖关系,现在可以将目标平台设置为 AnyCPU.由于应用程序可能用于处理大量数据,因此能够以 64 位运行它可能很有用.但是我读到在 x64 平台上使用 GDI+ 时性能会下降,但无法获得有关它的详细信息.
..
我有一个 C# 应用程序,我为它编写了 GDI+ 代码,该代码使用位图/TextureBrush 渲染来呈现 2D 图像,可以应用各种图像处理功能.此代码是模仿现有 DX9 代码的应用程序中的新路径,它们共享一个公共库来执行所有向量和矩阵(例如 ViewToWorld/WorldToView)操作.我的测试台包含 DX9 输出图像,我将这些图像与新 GDI+ 代码的输出进行比较. 一个简单的
..
我正在尝试使用 GDI+ 在屏幕上(整个屏幕,在所有其他窗口的顶部)进行绘制. 我已将 NULL 传递给 GetDC 以将 HDC 传送到屏幕,然后使用它创建一个 Graphics 对象,并使用 DrawRectangle 在屏幕上绘制矩形. 一切正常......除了......矩形的内部不会更新. 就像我在命令提示符上绘制它并移动命令提示符一样,矩形的内部仍然是黑色的.我希望看到矩形下
..
考虑以下代码: public static Bitmap Create3x3Bitmap(PixelFormat pixelFormat){var bmp = new Bitmap(3, 3, pixelFormat);//我知道 SetPixel 表现不佳,这只是为了学习目的bmp.SetPixel(0, 0, Color.Red);bmp.SetPixel(1, 0, Color.Lime)
..
我正在创建一个创建双数组表的用户控件.我能够绘制它们,但我不知道如何对齐这些值. 示例:我的数据看起来像 double[] data = new double[]{-13.5,-8.5,-3.5,0,3.5、8.5,13.5}; 所以我希望当我绘制这些值时,它们应该对齐(右对齐),以便所有值的点都出现在同一位置. 这是我使用的代码: private void DrawTable
..
我有一个 WinForms 程序,用户可以在其中单击 PictureBox 控件. 每次用户点击时,我都想要一个小红点(几个像素). 我也不希望之前的任何点消失. 我知道我需要一个椭圆和矩形的通用列表,但我不确定如何执行它.我该怎么做? 在我的程序中,一个 pictureBox1_Click 方法处理鼠标点击事件并返回点击的位置. pictureBox1_Paint 方法处理要在
..
我创建了一个布尔代数简化器.为此,我在简化过程中的关键阶段采用表达式,将其添加到列表中,最后使用这些表达式来展示计算机如何简化表达式.例如.对于 B•(A+~A),标签的内容将是: B•(A+~A)//初始表达式= B•(1)//括号简化= B•1//移除括号= B//简化表达式. 我创建了一个标准面板,并将标签拖放到其中,以将标签停靠在面板内. 我想让它改变文本的字体大小,使其完全适合
..
我在做什么 我正在开发一个 C#/.NET 4.7.2/WinForms 应用程序,该应用程序使用 Graphics.FillRectangle. 目前,矩形是在表单的 Paint 事件中绘制的.绘制完所有矩形后,根据鼠标位置绘制一个十字准线. 每当鼠标移动时,就会在表单上调用 Invalidate 以强制重新绘制,以便十字准线出现在其新位置. 问题 这是低效的,因为
..
我对 C# GDI+ 图形还很陌生. 我想在另一个图像上绘制一个图像,该图像应该在图像上的固定高度和宽度容器中水平和垂直居中. 我试图用水平居中来做到这一点,但输出很奇怪. 我正在分享有关我如何尝试的注释代码,如果有更简单的方法,请告诉我,我只想缩放和居中图像. //父图片分辨率为4143x2330//子图像的容器是2957x1456Image childImage = Ima
..
如下图所示,PictureBox 上的文本与 TextBox 中的文本不同.如果我使用 Graphics.DrawString(),它工作正常,但是当我使用图形路径时,它会截断并且不显示整个文本.你认为我的代码有什么问题? 这是我的代码: public LayerClass DrawString(LayerClass.Type _text, string text, RectangleF
..
我在此程序中使用 BitBlt 时遇到问题.您调整窗口大小,椭圆也随之调整大小.当然,用普通的 hdc 方法,它是断断续续的和闪烁的.我尝试了 BitBlt 方法,但这也不起作用(可能是因为我做错了).有人可以解决我的错误吗?谢谢 布尔大小;//全球的案例 WM_PAINT:{矩形矩形;GetClientRect(hwnd, &rect);hdc = BeginPaint(hwnd, &ps)
..
在此页面上:https://docs.microsoft.com/en-us/windows/win32/gdi/wm-ncpaint 解释了如何使用 GDI 在非客户区绘图. 如何在不处理 GDI 或 GDI+ 的情况下使用 Direct2D 在窗口的非客户区中绘图? 解决方案 首先,WM_NCPAINT 是旧的.使用它将禁用窗口的 DWM 主题,提供 Windows 经典/7 基
..
我正在尝试将透明图像放置在具有不同背景颜色的两个相邻控件上. 我希望图像保持透明,这意味着图像需要显示每个控件的背景色. 控件是设置为不同背景颜色的两个面板,图像(PictureBox 或其他)放置在两个面板控件之间. 公共类frmMainPrivate Img1 As Image = Image.FromFile("C:\xxxx.png")Private Sub frmMain_Pa
..
我有一个与连接交互的WinForms应用程序.如果连接正常,我想显示一个绿色的(“一切都很好")实心圆,否则,我想要显示一个红色实心的圆. 我在工具箱中没有找到任何圆形元素,因此我认为必须自己绘制. 我创建了一个名为 picBoxClientState 的图片框,并从此代码开始 公共局部类FrmMain:表格{公共无效CheckSignedInState(){//其他代码DrawCl
..
我创建了一个格式化条件: 如果文本包含- 成功 ,则背景颜色为 绿色 ,ForeGround颜色为黑色 ; 如果文本包含- 错误 "彩色背景 红色 ,则前景为 黑色 ; 其他情况:背景颜色为 白色 ,前景色为 黑色 ; 问题. 如何更改我选择满足条件1 的ListBox项的背景/前景颜色? 条件1 .所选项目的条件: 背景 Color.Blue ; 前景 Color
..
我正在使用C#中的 System.Drawing 库来测量字符串的大小: SizeF size = gfx.MeasureString("Hello",myFont); 但是,这将返回一个大小,在文本周围有一些间距.这是带有红色边框的文本,该边框表示返回的 MeasureString 大小.框和文本的TopLeft角都完全相同. 我偶然发现了建议使用的Stack Overflow上的
..