问题标签 [gdi+]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2175 浏览

c# - 如何重叠两个控件

我有一个 Circle 和一个 Line 控件。Circle 控件的 OnPaint 绘制一个圆,Line 控件的绘制一条线。这两个控件包含在另一个控件 (DrawingControl) 中。我需要在圆上放一条线,但圆的背景删除了这条线。我尝试启用透明度并覆盖 Circle 的 OnPaintBackground 方法,但它似乎不起作用。你有什么想法?谢谢。

0 投票
1 回答
4277 浏览

c# - 扩展 GDI+ 中支持的图像格式列表

引用System.Drawing.Imaging 命名空间的文档

Encoder 类使用户能够扩展 GDI+ 以支持任何图像格式。

然而,我找不到任何文档、示例或其他任何东西来解释我将如何实现我自己的自定义文件格式——大多数搜索返回大量关于传递 EncoderParameters 的信息,但没有关于实现我们自己的编码器的信息?

理想情况下,我希望能够在 C# 中实现这一点,但如果需要的话,我准备清理我的 ATL :)

有没有人遇到过任何文档或能够提供有关如何处理此问题的任何指示?

更新:
我可能应该提到到目前为止我尝试过的事情,但无济于事:

0 投票
2 回答
4421 浏览

winapi - 从 tagRECT/CRect 转换为 Gdiplus::Rect

RECT将struct ( tagRECT) 或 a转换为CRecta的最简单方法是Gdiplus::Rect什么?

有效,但打字很多。

0 投票
5 回答
2223 浏览

.net - 调整图像大小从右下角裁剪一个像素

我发现当使用 System.Drawing.Graphics 类调整图像大小时,结果图像从右边框和下边框丢失了一个像素。这是我的代码中某处的错误或 .Net 问题?测试代码:

源图: 源图http://img110.imageshack.us/img110/4876/sampleaa2.jpg

结果: 结果 http://img110.imageshack.us/img110/2050/resizedsamplesy4.png

PS 我已经尝试过所有现有的 InterpolationMode 和 SmoothingMode 组合。他们都没有给出可接受的结果。

0 投票
1 回答
1031 浏览

c++ - 如何创建填充箭头 CustomLineCap?

MSDN 文档有几个空心箭头示例,但没有实心箭头示例。

我只想创建一个比默认 LineCapArrowAnchor 更大的箭头。我尝试了几件事,但无法让它工作。应该很简单吧?

0 投票
1 回答
1296 浏览

c# - GraphicsPath - 为什么 AddLine 方法的顺序很重要

我正在用以下代码绘制一个三角形

当我调用 DrawPath 时,它总是绘制我的线条,无论顺序如何。但是当我调用 FillPath 时,它什么也不做。只有当我的订单是 / _ \ 或 \ _ / 时,我的三角形才会真正成交。为什么是这样?

0 投票
1 回答
2297 浏览

.net - Intersecting GraphicsPath objects

How can I intersect two (.NET) GraphicsPath objects?

0 投票
3 回答
4639 浏览

.net - 如何从 .NET 中的图标文件中提取特定图像?

图标文件 (*.ico) 可能包含多个不同大小和不同颜色深度的图像。

如何System.Drawing.Image.ico文件中获取对象?

一种选择是Image.FromFile(...),但对于具有多个图像的图标文件,无法指定要返回的图像大小和颜色深度。

理想情况下,该解决方案将仅使用托管代码,但我也很高兴听到有关 Win32 函数的互操作调用。

0 投票
2 回答
1096 浏览

asp.net - 为什么我在尝试保存 PNG 时会在 GDI+ 中得到这个通用的、非描述性的错误?

我有一个功能可以动态地将文本添加到预先指定位置的图像中。最初我是用 jpegs 做的,它正在工作。我切换到PNG,因此图像质量会更好,因为原始的jpeg有点像素化。无论如何,这是我的代码。它执行到oBitmap.Save(),然后死于“GDI+ 中发生一般错误”。

我从 jpeg 版本对此所做的唯一更改是:

  • context.Response.ContentType = "image/jpeg"变成"image/png"
  • 将基础图像 ( img/banner_green.jpg, img/banner_blue.jpg) 更改为.png
  • 添加了指定颜色深度的第二个编码参数
  • oInfo(1)(jpeg) 更改为oInfo(4)(png)

我是否需要调整更多的东西才能让这个例程正确生成 PNG?

0 投票
1 回答
5024 浏览

c# - 缩放到c#中的一个点

我正在尝试编写一个自定义可滚动 c# 控件,该控件可以缩放到图像上的特定点。我面临的问题是,当启用双缓冲时,图像似乎向左上角猛拉,然后正确缩放到单击鼠标的位置。这似乎只在我设置 AutoScrollPosition 时发生。我证实它不会发生在我的 OnPaint 方法中。这似乎是我无法追踪的一些内部行为。有没有人解决这个问题?

这是一些示例代码,演示了我要完成的工作。当图像相当大时,该问题似乎只对用户显着呈现。