大家好,今天来为大家解答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方法:
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.给图片添加水印
可以先定义一组类来描述添加水印的行为
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/114401.html
用户评论
旧事酒浓
这个 C# 项目真不错啊!我一直想找个方法快速处理图像, SkiaSharp 似乎很强大,支持多平台开发也挺方便的。
有7位网友表示赞同!
强辩
图片压缩和加水印都是我经常需要做的功能,之前都是用笨重的第三方库,现在终于找到一个开源且高效的方案了!赞!
有8位网友表示赞同!
又落空
虽然我对 C# 并不是很熟悉,不过这个项目看起来非常专业,而且文档写的也很好理解。期待以后有更多的开源项目使用 SkiaSharp 做开发。
有15位网友表示赞同!
忘故
我一直都用的 Photoshop 处理图片,现在看到这些代码实现的功能,感觉自己是不是有点out了….
有19位网友表示赞同!
陌潇潇
压缩速度和效果看着很不错,但是加水印的功能我有些担忧,能不能灵活控制水印的大小、透明度以及位置呢?希望作者能提供更多细节信息。
有13位网友表示赞同!
陌離
作为一名学生程序员,开源项目对我的学习和实践非常有帮助,这个 SkiaSharp 项目真的值得一看!
有11位网友表示赞同!
执念,爱
C# 的实现方式和效果都很好看,不过我更希望能看到一些 JavaScript 或 Python 版本的移植代码,这样就能在更多场景下使用。
有19位网友表示赞同!
看我发功喷飞你
图片压缩部分感觉不错,但是加水印的功能实现不太完美,有些时候会产生奇怪的边缘特效,希望作者能继续改进。
有10位网友表示赞同!
隔壁阿不都
学习一下 SkiaSharp 的 API 似乎很有必要了!以后可以在项目中用到它来增加一些图形处理功能,比如自定义图标和界面元素。
有11位网友表示赞同!
见朕骑妓的时刻
作为一个Android开发者,我一直想用C# 开发跨平台的应用,这个SkiaSharp配合该方案感觉很棒!
有7位网友表示赞同!
心脏偷懒
这个开源项目真的很强大,希望作者能继续完善和维护,让它能够帮助更多人!
有20位网友表示赞同!
微信名字
我尝试使用这个项目进行图片压缩,结果压缩后图像质量下降明显,而且处理速度也很慢,我觉得不太实用。
有13位网友表示赞同!
折木
代码的结构和注释都非常清晰易懂,作者对项目的解释也非常详细,作为一个新手程序员来说,很容易上手学习。
有19位网友表示赞同!
凝残月
希望以后能加入更多图片滤镜和编辑功能,比如色彩调整、裁剪、旋转等,这样就能更方便地处理图像了。
有20位网友表示赞同!
花菲
这个项目看起来很不错,但是我觉得它应该提供更详细的示例代码讲解,这样才能帮助更多人快速上手使用。
有5位网友表示赞同!
軨倾词
C# 与 SkiaSharp 的结合的确很强大,但我建议作者增加对不同分辨率和图像格式的支持,才能满足更广泛的用户需求。
有18位网友表示赞同!
雨后彩虹
虽然这个项目功能强大,但是我想知道它是否支持GPU加速?如果能够支持GPU加速,那么处理速度应该会更快很多
有8位网友表示赞同!