CSharp基于开源项目SkiaSharp实现图像压缩和水印

1、首先命令行安装插件Install-Package SkiaSharp2、基于图片质量的压缩/// <summary> /// 压缩

大家好,今天来为大家解答CSharp基于开源项目SkiaSharp实现图像压缩和水印这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

///摘要///压缩图像////summary ///param name=’source’ 原始文件位置/param ///param name=’target’ 生成目标文件位置/param ///param name=’ scale’ 图片缩放比例:大于1放大;小于1, [0-1] reduce/param ///param name=’quality’ 图像质量,范围0-100/param public static void Compress(string source, string target, 小数位数, intquality) { using ( var file=File.OpenRead(source)) using (var fileStream=new SKManagedStream(file)) using (var bitmap=SKBitmap.Decode(fileStream)) { var width=(decimal)bitmap .Width; var height=(十进制)bitmap.Height; var maxWidth=位图.宽度*比例; var newWidth=最大宽度; var newHeight=高度/宽度* maxWidth;使用(var resized=bitmap.Resize(new SKImageInfo((int ) newWidth, (int) newHeight), SKFilterQuality.Medium)) { using (var image=SKImage.FromBitmap(resized)) using (var writeStream=File.OpenWrite(目标)){ image.Encode(GetFormat(目标),质量)。SaveTo(writeStream);其中,GetFormat方法:

CSharp基于开源项目SkiaSharp实现图像压缩和水印

private static SKEncodedImageFormat GetFormat(string file) { var ext=Path.GetExtension(file).TrimStart(‘.’).ToLower(); SKEncodedImageFormat 格式=SKEncodedImageFormat.Png; switch (ext) { case ‘jpg’: case ‘jpeg ‘: format=SKEncodedImageFormat.Jpeg;休息; case ‘png’ ‘wbmp’: 格式=SKEncodedImageFormat.Wbmp;休息; case ‘bmp’: 格式=SKEncodedImageFormat.Bmp;休息; case ‘astc’: 格式=SKEncodedImageFormat.Astc;休息; case ‘dng’: 格式=SKEncodedImageFormat.Dng;休息;默认:格式=SKEncodedImageFormat.Avif;休息;返回格式; }3.给图片添加水印

CSharp基于开源项目SkiaSharp实现图像压缩和水印

可以先定义一组类来描述添加水印的行为

CSharp基于开源项目SkiaSharp实现图像压缩和水印

用户评论

CSharp基于开源项目SkiaSharp实现图像压缩和水印
旧事酒浓

这个 C# 项目真不错啊!我一直想找个方法快速处理图像, SkiaSharp 似乎很强大,支持多平台开发也挺方便的。

    有7位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
强辩

图片压缩和加水印都是我经常需要做的功能,之前都是用笨重的第三方库,现在终于找到一个开源且高效的方案了!赞!

    有8位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
又落空

虽然我对 C# 并不是很熟悉,不过这个项目看起来非常专业,而且文档写的也很好理解。期待以后有更多的开源项目使用 SkiaSharp 做开发。

    有15位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
忘故

我一直都用的 Photoshop 处理图片,现在看到这些代码实现的功能,感觉自己是不是有点out了….

    有19位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
陌潇潇

压缩速度和效果看着很不错,但是加水印的功能我有些担忧,能不能灵活控制水印的大小、透明度以及位置呢?希望作者能提供更多细节信息。

    有13位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
陌離

作为一名学生程序员,开源项目对我的学习和实践非常有帮助,这个 SkiaSharp 项目真的值得一看!

    有11位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
执念,爱

C# 的实现方式和效果都很好看,不过我更希望能看到一些 JavaScript 或 Python 版本的移植代码,这样就能在更多场景下使用。

    有19位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
看我发功喷飞你

图片压缩部分感觉不错,但是加水印的功能实现不太完美,有些时候会产生奇怪的边缘特效,希望作者能继续改进。

    有10位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
隔壁阿不都

学习一下 SkiaSharp 的 API 似乎很有必要了!以后可以在项目中用到它来增加一些图形处理功能,比如自定义图标和界面元素。

    有11位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
见朕骑妓的时刻

作为一个Android开发者,我一直想用C# 开发跨平台的应用,这个SkiaSharp配合该方案感觉很棒!

    有7位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
心脏偷懒

这个开源项目真的很强大,希望作者能继续完善和维护,让它能够帮助更多人!

    有20位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
微信名字

我尝试使用这个项目进行图片压缩,结果压缩后图像质量下降明显,而且处理速度也很慢,我觉得不太实用。

    有13位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
折木

代码的结构和注释都非常清晰易懂,作者对项目的解释也非常详细,作为一个新手程序员来说,很容易上手学习。

    有19位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
凝残月

希望以后能加入更多图片滤镜和编辑功能,比如色彩调整、裁剪、旋转等,这样就能更方便地处理图像了。

    有20位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
花菲

这个项目看起来很不错,但是我觉得它应该提供更详细的示例代码讲解,这样才能帮助更多人快速上手使用。

    有5位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
軨倾词

C# 与 SkiaSharp 的结合的确很强大,但我建议作者增加对不同分辨率和图像格式的支持,才能满足更广泛的用户需求。

    有18位网友表示赞同!

CSharp基于开源项目SkiaSharp实现图像压缩和水印
雨后彩虹

虽然这个项目功能强大,但是我想知道它是否支持GPU加速?如果能够支持GPU加速,那么处理速度应该会更快很多

    有8位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/114401.html

(0)
小su's avatar小su
上一篇 2024年9月1日 上午2:20
下一篇 2024年9月1日 上午2:22

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注