问题标签 [system.drawing.imaging]

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 回答
6255 浏览

asp.net - 如何在 asp.net(c#) 中绘图?

如何绘制带有矩形标签的下一张图像?感谢帮助:

在此处输入图像描述

0 投票
3 回答
512 浏览

c# - Image.Save 在 Win7 中不能覆盖图像

我正在尝试使用Image.Save方法将图像保存到本地驱动器中。它在其他操作系统中运行良好,但我只在 Win7 中看到问题。

在 Win7 中它不能覆盖现有的图像,即使它没有抛出任何错误。可能这是 Win7 中的一个错误,因为我在这里看到了相关的热修复http://support.microsoft.com/kb/2028610

但是这个热修复并不能解决我的问题。如果有人遇到同样的问题,请告诉我。

谢谢。

0 投票
2 回答
2676 浏览

c# - 如何在具有透明背景的调整大小的 PNG 中避免无用的白色边框?

我有一个包含大约 2500 张 PNG 图像的文件夹,没有透明度。每张图像大约为 500 x 500(有些是 491 x 433,其他是 511 x 499 等)。

我想以编程方式将每个图像缩小到其原始大小的 10%,并将每个图像的白色背景设置为透明色。

为了在不每次调整 2500 张图片大小的情况下测试我的应用程序的功能,我使用了 15 张台球图片作为“测试”文件夹。

现在我的问题是下面的代码,我得到了一个调整大小和裁剪的 PNG,背景几乎是透明的。问题是每个图像查看器(Irfan View、Paint.Net 和 GIMP)中都会出现左侧和顶部的白色边框

我怎样才能避免这个边界?

这是我用于此的代码:

这是我提到的白色边框的一个例子。下载图像或将其拖动并在其下放置黑色背景以查看边框:

调整大小的图像和白色边框

- 编辑 -

我设法编写了这个函数而不是newimg.MakeTransparent(...)

问题是我的台球现在看起来像这样:

第二版台球

0 投票
2 回答
6204 浏览

c# - 在 .NET 中读取/保存 PixelFormat.Format48bppRgb PNG 位图?

我已经能够使用以下 C# 代码创建一个 Format48bppRgb .PNG 文件(来自一些内部 HDR 数据):

ImageMagik(和其他应用程序)验证这确实是一个 16bpp 图像:

然而,我很失望地发现,在重新读取 PNG 时,它在使用时已转换为 Format32bppRgb:

鉴于 PNG 编解码器可以编写 Format48bppRgb,有没有什么方法可以使用 .NET 在不进行转换的情况下读取它?我不介意它是否为 DrawImage 调用执行此操作,但我想访问解压缩的原始数据以进行某些直方图/图像处理工作。

0 投票
1 回答
1951 浏览

vb.net - vb.net LED BOARD DISPLAY 用户控制

我正在 vb.net 中开发 LEDBOARD 用户控件。我也做过。实际上加载时间太长了。在vb6相同的应用程序中,我使用标签控件数组加载 3000 个标签,但不耗时。在vb.net我也在做同样的事情,但加载 3000 个标签需要太多时间。是否有任何其他方式(任何控件或任何自定义控件)来绘制输入文本(任何字体样式),图像如下图 它看起来像下面在此处输入图像描述

0 投票
1 回答
3102 浏览

image-processing - 使用 System.Drawing.Image 导出带有 $imageFile.Width 和 $_.Fullname 的 Csv

我想知道是否有更好的方法来编写这个脚本来收集图像尺寸和文件路径。该脚本适用于中小型目录,但我不肯定 100,000 多个文件/文件夹是可能的。

我现在实际上并没有使用 Where-Object 过滤器。

使用 appx 在远程目录上运行上述脚本时。该脚本需要 20,000 个文件 + 文件夹 appx。26 分钟,在创建 .csv 之前。

我在 Windows 7 上从 Powershell V2 ISE 运行脚本,我相信远程服务器在 Windows Server 2003 上。

直接从远程服务器运行脚本会更快吗?

由于所有数据在写入 csv 之前都收集在“缓存”中,因此导出 csv 的过程是否缓慢?

如果我只需要处理 20,000 个文件,我会等待 26 分钟,但 500,000 个文件和文件夹是一个漫长的等待。

我正在测试下面的方法,因为我认为我真正的问题不是速度,而是在内存中存储了太多数据。感谢 George Howarth 的帖子,以及顶级脚本的 PoSherLife -http://powershellcommunity.org/tabid/54/aft/4844/Default.aspx

在非图像文件类型上运行这些脚本时是否存在任何风险/性能损失?

当我不排除非图像时,我收到此错误:

感谢您的任何建议!再次感谢 George Howarth 和 PoSherLife 的剧本!

0 投票
1 回答
707 浏览

c# - 在 C# 中保存时在图像元数据中设置软件名称

尝试使用元数据中设置的软件名称保存图像时,出现异常“指定的 BitmapEncoder 不支持全局元数据。”

我怎样才能做到这一点?

0 投票
3 回答
3469 浏览

c# - System.Drawing.Bitmap GetBounds GraphicsUnit.Inch

谁能告诉我如何以像素以外的任何单位从 GetBounds 取回矩形?以下代码 - 直接从 MSDN 文档中提取此函数 - 返回一个非常明显以像素而不是点(1/72 英寸)为单位的矩形。(除非图标的大小为 32/72"x32/72" 而不是我认为的 32x32 像素)。我最感兴趣的是使用以英寸为单位的矩形,但我会满足于简单地看到 GetBounds pageUnit 参数导致返回的矩形发生变化。

0 投票
2 回答
6397 浏览

c# - system.drawing.imaging 的质量和压缩之间的区别?

我对 ASP.NET 中的图像处理完全陌生。我对 Photoshop 非常熟悉,并且在某种程度上熟悉图像魔法。

我试图弄清楚质量和压缩之间的区别是什么,因为其他应用程序倾向于将它们视为相同。使用 system.drawing.imaging 有质量和压缩设置。

http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoder.quality.aspx写道:“质量类别指定图像的压缩级别。”

http://msdn.microsoft.com/en-us/library/bb882583.aspx写道:“质量等级 0 对应于最大压缩,质量等级 100 对应于最小压缩。”

该文档似乎可以互换使用质量和压缩。但是,每个都有设置。有什么不同?

0 投票
3 回答
5430 浏览

vb.net - VB.NET - 创建图像 - 调整大小但将背景添加到剩余空间

我正在尝试将图像调整为特定尺寸,但如果图像小于我选择的尺寸,我根本不想拉伸图像。相反,我想在未使用的图像区域周围添加黑色背景。

我认为最简单的方法是创建一个我想要的尺寸的新图像并设置背景颜色,然后将图像添加并居中于该背景之上。

我使用以下方法创建了位图:

从这一点开始,我对如何完成该过程有点迷茫,所需要的只是将图像添加到位图和中心。

任何想法都会非常感激