问题标签 [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.
c# - 在 Windows 窗体上创建背景 gif 作为复活节彩蛋
我试图在 Windows 窗体的 .designer.cs 页面中隐藏一些东西。
我希望它从 ui 线程中运行,并更新表单的背景以显示 gif(完全 PG)。
到目前为止,这就是我所能想到的,但肯定有一些根本性的缺陷,因为它不起作用。
提示?
更新!- 我发现如果我最小化和(取消最小化?)图像按预期工作,有点。我想我只需要重新加载页面或其他东西......
c# - BitmapMetadata.SetQuery 不适用于 Tiff 图像
我正在尝试使用 System.Windows.Media.Imaging 将 Exif 数据添加到图像中。我能找到的大多数示例代码都适用于 JPG,但不适用于 Tiff。显然,代码无法扩展标题以添加新的 Exif 字段。下面的代码中缺少的任何想法。输出的 JPG 将在 Exif 中具有“焦距”和“纬度”值。但输出 TIF 不会。
.net - 使用 ColorMatrix 进行 sRGB 灰度转换
用于灰度转换的 sRGB 因子为 B、G、R = 0.0722、0.7152、0.2126。 https://en.wikipedia.org/wiki/Grayscale
可以在带有 ColorMatrix 的 Format24bppRgb 图像上进行这种灰度转换(如果可以,如何进行)?还是只能按像素来完成?
c# - 获取 RTF 图像 Html base64 字符串作为 System.Drawing.Image
我在我们的数据库中存储了一个富文本 html 字符串,示例如下(我已经缩短了位信息):
我基本上需要获取这个 HTML 并System.Drawing.Image
在 C# 中创建一个,然后将图像保存到 Images 文件夹中的某个位置。对于上面的第一个 png 示例,这一切似乎都适用于以下代码:
但是,当我尝试其他格式(包括 jpg/jpeg)时,似乎没有正确创建图像并且无法读取/打开。
有没有更好、更通用的方法System.Drawing.Image
从这个 Html 字符串中获取 C#?或者我只是错过了一些简单的 base64 字符串是如何传递的?
编辑 我迟到了,错过了一些关于代码示例的重要信息,我正在剥离元数据。我现在已经更新了。到填充字符串imageBase64String时,我已经删除了元数据。
c# - 如何在 C# 中更改 EMF+ 图像的颜色
我正在尝试开发一种特殊的热图,其中标记的颜色取决于一些计算变量的值。
我需要做的是更改现有 EMF+-Image 的颜色。以下代码在使用 png 或 wmf 文件时就像一个魅力,但在使用 EMF+ 文件时 DrawImage 不会绘制任何东西:
例如,使用 ia.SetRemapTable 时也会发生同样的事情。
关于如何解决这个问题的任何想法?
c# - 使用 C# System.Drawing 生成缩略图时居中裁剪图像
我有一个场景,我使用 System.Drawing 通过将原始图像的大小调整为提供的大小(正在使用的大小)来生成缩略图。如果源图像是矩形,则生成的缩略图需要是方形的,而不会破坏图像(拉伸它)。到目前为止,我有以下代码:
c++-cli - 设置 System::Drawing::Imaging::PropertyItem^ 的值
我想给我的位图一个 PropertyItem 值,但我不确定如何给它一个 System::String^ 值。
"System::Drawing::Imaging::PropertyItem::Value::set" 不能用给定的参数列表调用。” 参数类型是(System::String^) 对象类型是 System::Drawing::Imaging::属性项^
Hans Passant 的回答是正确的。我已经实现了它,如下所示:
.net - `Encoder.SaveFlag` 有什么作用?
Encoder.SaveFlag
是EncoderParameter
将位图保存到文件、流等时可以使用的变体之一。
此参数已记录在案,但文档基本上没有说明它的用途,即使在示例中使用它也是如此。
文档:https ://docs.microsoft.com/en-us/dotnet/api/system.drawing.imaging.encoder.saveflag
在示例中,该参数首先在此代码段中使用:
(请注意,评论实际上并没有说明对理解意图有意义的有用 - 它实际上只是重述了代码)。
然后在创建几个新EncoderParameter()
对象时使用它,但再次没有实际解释。
谢谢
c# - 在尺寸减小时防止图像尺寸增大
我有一个函数,它接收图像数据的字节数组,然后调整它的大小,使其高度和/或宽度最大约为 200px。
该函数成功地减小了图像的大小(就尺寸而言),但文件的大小却急剧增加。
示例:调整了最初为 32.2KB、尺寸为 828x251 的图像的大小。输出是一个 374KB 的图像,尺寸为 577x200。
下面是正在使用的函数:
谁能解释为什么文件大小因尺寸减小而急剧增加以及如何防止它(或实际上除了减小文件尺寸外还减小文件大小)?
.net - 保存图像 (TIFF),首先保存为 BMP - 为什么?
我继承了一些接受 TIFF 文件并将其保存的代码,也是 TIFF 格式,但带有压缩。该代码使用System.Drawing.Imaging
命名空间中的类(而不是 say System.Windows.Media
)。
我了解获取压缩编码器,设置编码器参数等。但是我对下面的片段感到困惑。将原始图像保存为MemoryStream
BMP 格式,然后从 BMP 格式图像生成输出 TIFF:
生成中间 BMP 格式图像并将其用作输出 TIFF 的基础的原因是什么?
更新:有问题的图像是线条艺术 - 即黑白 - 并且使用的压缩是“CC4”(CCITT Group 4)。
我想如果输入是 BMP 格式,CC4 压缩可能会更有效。但我认为从 TIFF 到 BMP 的中间转换会损失一些效率......