精易论坛

标题: gdiplus裁剪到不透明部分 [打印本页]

作者: 服毒自尽    时间: 2024-12-29 15:54
标题: gdiplus裁剪到不透明部分
调用gdiplus模块实现透明png图片自动裁剪到不透明区域

  
子程序名返回值类型公开备 注
截图字节集 参数一【输入一张图片】。参数二【容差默认为100】自定义的取值范围0-255
参数名类 型参考可空数组备 注
图片字节集参数一【输入一张图片】
容差整数型参数二【容差默认为100】自定义的取值范围1-255
变量名类 型静态数组备 注
返回图片字节集 
图形GP位图 
矩形矩形F 
RGB1字节集 
RGB2字节集 
x1整数型 
y1整数型 
x2整数型 
y2整数型 
x整数型 
y整数型 
Gdiplus初始化 ()
图形.创建自字节集 (图片)
RGB2 = 到字节集 (图形.取某点颜色 (2, 2))
计次循环首 (图形.取高度 () - 2, y)
计次循环首 (图形.取宽度 () - 2, x)
RGB1 = 到字节集 (图形.取某点颜色 (x + 1, y + 1))
判断 (取绝对值 (RGB1 [1] - RGB2 [1]) ≤ 容差 取绝对值 (RGB1 [2] - RGB2 [2]) ≤ 容差 取绝对值 (RGB1 [3] - RGB2 [3]) ≤ 容差 取绝对值 (RGB1 [4] - RGB2 [4]) ≤ 容差)

如果真 (x1 = 0 x2 = 0 y1 = 0 y2 = 0)
x1 = x + 1
x2 = x + 1
y1 = y + 1
y2 = y + 1
如果真 (x1 > x)
x1 = x + 1
如果真 (x2 < x)
x2 = x + 1
如果真 (y1 > y)
y1 = y + 1
如果真 (y2 < y)
y2 = y + 1


计次循环尾 ()
计次循环尾 ()
矩形.左边 = x1
矩形.宽度 = x2 - x1
矩形.顶边 = y1
矩形.高度 = y2 - y1
图形.复制部分 (矩形, #像素格式_32bppARGB, 图形)
返回图片 = 图形.保存到字节集 ( #图像格式_PNG )
图形.销毁 ()
Gdiplus关闭 ()
返回 (返回图片)


a - 副本.png (97.88 KB, 下载次数: 2)

原图

原图

a.png (95.71 KB, 下载次数: 1)

裁剪图

裁剪图

作者: cqcc    时间: 2024-12-29 18:40
感谢分享优秀作品!
作者: renhe2018    时间: 2024-12-29 19:14
专业抠图户啊。
作者: pipicool    时间: 2024-12-29 19:44
学习一下
作者: ttggnn    时间: 2024-12-29 20:18
感谢分享
作者: 艾玛克138    时间: 2024-12-29 21:28
谢了,很实用,就喜欢这样的资料
作者: ooonly    时间: 2024-12-29 21:40
感谢分享
作者: 豆豆灰常开心    时间: 2024-12-30 07:07
感谢发布原创作品,精易因你更精彩!6666666666666
作者: 查过    时间: 2024-12-30 07:12
已经顶贴,感谢您对论坛的支持!
作者: year1970    时间: 2024-12-30 07:51
感谢分享
作者: 杨明煜    时间: 2024-12-30 07:54
感谢,看看!.........
作者: 服毒自尽    时间: 2024-12-30 13:45
记录不透明点的xy的值,并且只保留最大和最小值,x最小值为左边,x最大值为右边,右边减左边等于不透明区域宽度。y最小值为顶边,y最大值为底边,底边减顶边等于不透明区域高度,通过这些参数就可以去除透明的边框啦
作者: kyo9766    时间: 2024-12-30 16:46
简单实用,感谢分享
作者: 396384183    时间: 2024-12-30 20:40
已经顶贴,感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2024-12-31 07:17
下个学习一下
作者: 查过    时间: 2024-12-31 07:21
感谢您对论坛的支持!
作者: jysoft2022    时间: 2024-12-31 10:42
感谢分享
作者: sadamu999    时间: 2024-12-31 13:15
感谢分享,很给力!~
作者: please    时间: 2025-1-1 09:38
感谢分享,支持开源!!!
作者: yulefangzong    时间: 2025-1-7 19:31
gdiplus裁剪到不透明部分
作者: wsysyb    时间: 2025-5-21 11:17
学习了,




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4