吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1282|回复: 18
收起左侧

[求助] C#的ImageSharp第三方图片处理库,怎样写,能更高效实现去除图片四周空白像素然后增加

[复制链接]
ilovecomputer66 发表于 2023-2-1 10:19
C#的ImageSharp第三方图片处理库,怎样写,能更高效实现去除图片四周空白像素然后增加指定颜色边框。求对此库深入研究使用过的大佬指点

我现在就知道按需求直接翻译。

就先遍历一遍图片四周上下左右,发现一行或者一列全是透明空白,就记住,最后调用ImageSharp裁剪函数得到去除周围整行整列空白的图

然后再计算出,整个图片外围加上用户指定的比如左右30像素,上下25像素的蓝色边框后的图片大小,然后把上面得到的图的像素逐个像素赋值到新的图片,新的图片最后再遍历,把外围蓝色边框画上


效果就做出来了。。就是这个运行效率客户无法容忍了

得写的高效一些才行

我觉得我上面应该调用裁剪函数,是imagesharp内置函数,应该很高效。 问题应该出在后面我自己建立新图,然后逐像素去赋值边框和原图像素上面。所以问下,应该是这块问题吧,怎么写提高效率呢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Broadm 发表于 2023-2-1 10:46
我感觉裁剪有点慢,裁剪应该也是得到新的位图吧
我的想法是: 先把白边找出来,然后得到实际需要的图片内容的位置,和大小

然后计算包含新的边框的图片的大小, 建立一个新的位图, 最后把原图的指定位置的内容画到新图上,在画个边框
 楼主| ilovecomputer66 发表于 2023-2-1 10:51
Broadm 发表于 2023-2-1 10:46
我感觉裁剪有点慢,裁剪应该也是得到新的位图吧
我的想法是: 先把白边找出来,然后得到实际需要的图片内容的 ...

实测裁剪这一步消耗时间很小。但因为甲方要求不加边框的图,也要单独保存。所以,我做这步无法省略,要不我也没必要裁剪,就像你说的,直接在原图,按照逻辑,绘图就是了
Broadm 发表于 2023-2-1 10:54
 楼主| ilovecomputer66 发表于 2023-2-1 11:00
Broadm 发表于 2023-2-1 10:54
要处理的图片是不是很大,大的话肯定慢

兄弟,谢谢你,如果没有研究过这个库的话,还是我们一起静静看其他大佬的解答吧。赚金币可以有其他途径,谢谢

我问这个问题,显然是,相同的图片,怎么写代码处理更高,谢谢
liu8359 发表于 2023-2-1 14:26
合并试过吗,先生成相框,然后在与原照片合并
 楼主| ilovecomputer66 发表于 2023-2-1 14:58
liu8359 发表于 2023-2-1 14:26
合并试过吗,先生成相框,然后在与原照片合并

是说的imageSharp提供的什么函数么?

我是自己用代码相当于做了逐像素的复制
liu8359 发表于 2023-2-1 17:30
ilovecomputer66 发表于 2023-2-1 14:58
是说的imageSharp提供的什么函数么?

我是自己用代码相当于做了逐像素的复制

应该是imageSharp提供的。先根据照片大小new 边框,然后在根据图片大小,确定位置,然后再通过函数合成图片

以前写过,都忘了
 楼主| ilovecomputer66 发表于 2023-2-1 19:53
本帖最后由 ilovecomputer66 于 2023-2-2 12:22 编辑
liu8359 发表于 2023-2-1 17:30
应该是imageSharp提供的。先根据照片大小new 边框,然后在根据图片大小,确定位置,然后再通过函数合成图 ...

能找找么。你目前说的流程和我一样。我没看出这样会比我现在代码高多少

我现在处理一个8k分辨率,大约10MB多照片,大约140毫秒
Broadm 发表于 2023-2-6 15:14
ilovecomputer66 发表于 2023-2-1 19:53
能找找么。你目前说的流程和我一样。我没看出这样会比我现在代码高多少

我现在处理一个8k分辨率,大约 ...


我试了一下,运行结果如图, 不知道你说的慢是在哪一步?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表