我正在尝试为ImageMagickNet类添加自定义函数.它应该使用IsSimilarImage magick
ImageMagick.NET项目中的方法,但我对是否必须通过Magick ++路由此方法感到困惑,因为.NET端可用的任何功能都源于Magick ++.
我在将 heic 文件转换为 jpeg 时遇到问题
我已经尝试过在线搜索,我可以找到如何写入文件夹,但不知道如何获取转换后的文件的字节[],以便我可以保存它
byte[] file = null;
file = Convert.FromBase64String(dto.File);
//Convert HEIC/HEIF to JPF
if (extension == "HEIC" || extension == "HEIF")
{
try
{
using (MagickImageCollection images = new MagickImageCollection())
{
images.Read(file);
using (IMagickImage vertical = images.AppendVertically())
{
var imgname = filename + ".jpeg";
vertical.Format = MagickFormat.Jpeg;
vertical.Density = new Density(300);
vertical.Write(imgname);
extension = "jpeg";
}
}
}
catch (Exception ex)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
}
}
documentId = Service.AddSupportingDocument(file, extension , userName);
Run Code Online (Sandbox Code Playgroud)
我无法获取输出文件,它只是一个字符串
我一直在使用ImageMagick命令行工具对图像进行jpeg压缩。但是,我试图了解采样因子的作用。它说采样因子用于指定块大小,即8x8或16x16。但是,如果省略此参数,则找不到使用的默认值。
另外,我尝试使用以下命令来获取图像的属性:
确定-verbose image.jpg
它显示采样系数值为1x1、1x1、1x1。这是什么意思?应该是8x8或16x16或32x32。
有人可以给我一个想法,在哪里找到这些细节吗?
imagemagick imagemagick.net node-imagemagick imagemagick-convert
我有一个大图像,我想调整到230×320(确切).我希望系统在不丢失宽高比的情况下调整大小.即,如果图像是460×650,它应首先调整为230×325,然后裁剪额外的5个像素的高度.
我正在做以下事情:
ImageMagickNET.Geometry geo = new ImageMagickNET.Geometry("230x320>");
img.Resize(geo);
Run Code Online (Sandbox Code Playgroud)
但图像没有调整到230×320的确切大小.
我在C#4.0中使用ImageMagick.NET.
升级到最新的ImageMagick/Magick.NET(7.0.2.901),它在本地构建并运行良好,但在服务器上出现此错误.
无法在DLL'Magick.NET-Q8-x64.Native.dll'中找到名为"Environment_SetEnv"的入口点.
似乎是一个新问题.从这里的变化来看:
https://magick.codeplex.com/discussions/650746
不再需要VC运行时,因此安装它们不会成为问题 - 而且,我已经为库的先前版本安装了2008年,2012年和2015年的VC运行时,这些工作正常.
IIS中的Windows Server 2008 64位,64位.Net 4.
当前的解决方法是回滚到7.0.0.22,它运行没有错误.
Install-Package Magick.NET-Q8-AnyCPU -Version 7.0.0.22
Run Code Online (Sandbox Code Playgroud)
我需要将 JPG 图像转换为 PNG 并将其白色背景更改为透明。我正在使用 ImageMagick.NET,并且发现以下 ImageMagick 命令应该可以实现我想要实现的目标:
convert image.jpg -fuzz XX% -transparent white result.png
Run Code Online (Sandbox Code Playgroud)
我尝试将其转换为 c#,但我得到的只是一个带有白色背景的 png 图像。我的代码片段:
using (var img = new MagickImage("image.jpg"))
{
img.Format = MagickFormat.Png;
img.BackgroundColor = MagickColors.White;
img.ColorFuzz = new Percentage(10);
img.BackgroundColor = MagickColors.None;
img.Write("image.png");
}
Run Code Online (Sandbox Code Playgroud)
任何形式的帮助将不胜感激。谢谢你!!
GDI+ 和 System.Drawing 不支持 WebP 图像。为了在我的 C# Windows 桌面应用程序中处理它们,我使用 Magick.NET 将它们转换为受支持的 Gif 图像。这很有效,除非 WebP 图像是动画的。我用来测试动画图像转换的代码如下:
public void TestConvertImageType() {
using (var animatedWebP = new MagickImage("animated.webp")) {
animatedWebP.Write("animated-generated.gif", MagickFormat.Gif);
}
using (var animatedGif = new MagickImage("animated.gif")) {
animatedGif.Write("animated-generated.webp", MagickFormat.WebP);
}
}
Run Code Online (Sandbox Code Playgroud)
如果拖到 Chrome 浏览器中,animated.webp 和animated.gif 都会播放。但是,生成的图像都不会播放。在 Chrome 中,它们只是显示动画源图像的第一帧。
使用 ImageMagick 的命令行版本,我可以使用以下脚本将animated.webp 和animated.gif 转换为可播放的图像:
magick animated.webp animated-generated.gif
magick animated.gif animated-generated.webp
Run Code Online (Sandbox Code Playgroud)
所以我知道ImageMagick支持动画图像的转换。
我安装的 Magick.NET 版本是 Magick.NET-Q8-AnyCPU 版本 8.5.0
我安装的 ImageMagick 版本是 ImageMagick-7.1.0-Q8
我的 C# 应用程序正在使用 .NET Framework 4.8
谁能告诉我我的 C# 应用程序需要做什么才能从动画 webp 生成可播放的动画 …
我正在尝试在 Visual Studio 2010 中编写一个示例 ImageMagick 程序。我的系统上已经安装了 ImageMagick 的二进制分发版,因为我可以使用 ImageMagick 的命令行界面。
但是,当我尝试在我的 C++ 程序中包含“Magick++.h”时,它说它无法打开源文件。
我找到了有关从源代码编译和构建 ImageMagick 的说明,但是是否可以更改我的 Visual Studio 项目设置,以便它可以从已安装的 ImageMagick 版本中选择必要的引用/库?
imagemagick imagemagick.net node-imagemagick imagemagick-convert
我编写的软件包的一部分接收二进制编码的 PDF,将其转换为位图,然后将其保存到 db 中的 blob。我发现虽然它在 PDF 格式的原始文件中不是立即可见的,但文档中的透明度在转换后的位图中完全可见。
我看过其他帖子,其中 imagemagick 的命令行版本可以“展平”图像以删除透明层。这可以用 .NET 包以某种方式完成吗?如何在保存位图之前删除透明度?我需要将它保留为位图,因为它是他们标签打印机普遍认可的格式。
/// <summary>
/// Write image data from a pdf file to a bitmap file
/// </summary>
/// <param name="imgData"></param>
private static void convertPdfToBmp(ImageData imgData)
{
MagickReadSettings settings = new MagickReadSettings();
// Settings the density to 600 dpi will create an image with a better quality
settings.Density = new Density(600);
using (MagickImageCollection images = new MagickImageCollection())
{
// Add all the pages of the pdf file to …
Run Code Online (Sandbox Code Playgroud) imagemagick ×6
c# ×4
.net ×2
magick.net ×2
animation ×1
imagick ×1
magick++ ×1
uwp ×1
vb.net ×1