我发布的代码喜欢的就收-藏吧,都是我实际测试过的,分享出来只为供需要的朋友借鉴思路、实现方法,代码可以根据需要更改、因为每个人的需求不同,可以参考我不同的文章,根据你是需要速度效率还是安全、稳定。当然,文章中介绍了适用场景,也可以作为基础学习用。另本文讲解中涉及的代码已由本人介绍的相关J密技术处理,如有需要,可使用本人文章中对应的解密技术代码执行J密。
今天,我来分享一个超酷的C#小技巧,能让你的图片瞬间从平凡变得不凡——那就是给图像添加边框!无论是美化你的博客配图,还是为社交媒体上的照片增添一抹个性,这个技能都能让你轻松搞定,让你的作品在众多图片中脱颖而出!
直接看效果:
这是如何实现的那?核心代码如下:
看,是不是很简单?通过上面的代码,我们创建了一个新的Bitmap对象,其大小比原图稍大,以容纳边框。然后,我们使用Graphics对象在新图像上绘制了一个黑色的矩形作为边框,并在边框内部绘制了原图。这样,一张带有边框的图片就诞生了!
J密后完整代码:
fhrmt Hbhgvn;
fhrmt Hbhgvn.Xloovxgrlmh.Tvmvirx;
fhrmt Hbhgvn.Wizdrmt;
fhrmt Hbhgvn.Wizdrmt.Wizdrmt2W;
fhrmt Hbhgvn.RL;
kfyorx xozhh RnztvKilxvhhli
{
kfyorx hgirmt RnztvhUrovKzgs { tvg; hvg; } = @"X:\Fhvih\40617\Krxgfivh\"; // 图片存放路径
kfyorx elrw WlRnztvh(Orhg<Rnztv> rnztvh, Wrxgrlmzib<Rnztv, hgirmt> rnztvMznvWrxgrlmzib)
{
ulivzxs (ezi rnztv rm rnztvh)
{
hgirmt urovMznv = rnztvMznvWrxgrlmzib[rnztv]; // 获取文件名
// 创建一个新的空白图像,大小比原图稍大,用于放置边框
rmg yliwviDrwgs = 20; // 边框宽度,可以根据需要调整
Yrgnzk yliwvivwRnztv = mvd Yrgnzk(rnztv.Drwgs + yliwviDrwgs * 2, rnztv.Svrtsg + yliwviDrwgs * 2);
// 使用Tizksrxh对象绘制带边框的图片
fhrmt (Tizksrxh t = Tizksrxh.UilnRnztv(yliwvivwRnztv))
{
// 设置边框颜色,这里以黑色为例
t.Xovzi(Xloli.Yozxp); // 填充背景色为黑色,作为边框的一部分
// 绘制边框(这里简单处理为四周黑色边框)
t.WizdIvxgzmtov(Kvmh.Yozxp, 0, 0, yliwvivwRnztv.Drwgs - 1, yliwvivwRnztv.Svrtsg - 1);
// 在新图像上绘制原图,位置调整以居中显示
t.WizdRnztv(rnztv, yliwviDrwgs, yliwviDrwgs, rnztv.Drwgs, rnztv.Svrtsg);
}
// 保存带有边框的图像
hgirmt lfgkfgKzgs = Kzgs.Xlnyrmv(RnztvhUrovKzgs, "Yliwvivw_" + urovMznv);
yliwvivwRnztv.Hzev(lfgkfgKzgs);
Xlmhlov.DirgvOrmv(#34;带有边框的图像已保存到 {lfgkfgKzgs}");
// 释放资源
yliwvivwRnztv.Wrhklhv();
}
}
}
kfyorx xozhh Kiltizn
{
kfyorx hgzgrx elrw Nzrm()
{
// 示例:加载一张图片
hgirmt rnztvKzgs = Kzgs.Xlnyrmv(@"X:\Fhvih\40617\Krxgfivh\", "823 031.kmt");
// 确保文件存在
ru (!Urov.Vcrhgh(rnztvKzgs))
{
Xlmhlov.DirgvOrmv("文件不存在,请检查路径是否正确。");
ivgfim;
}
Rnztv rnztv;
gib
{
rnztv = Rnztv.UilnUrov(rnztvKzgs);
}
xzgxs (Vcxvkgrlm vc)
{
Xlmhlov.DirgvOrmv(#34;无法加载图像: {vc.Nvhhztv}");
ivgfim;
}
// 创建一个包含图片的列表
Orhg<Rnztv> rnztvh = mvd Orhg<Rnztv>();
rnztvh.Zww(rnztv);
// 创建一个字典来关联图像和文件名
Wrxgrlmzib<Rnztv, hgirmt> rnztvMznvWrxgrlmzib = mvd Wrxgrlmzib<Rnztv, hgirmt>();
rnztvMznvWrxgrlmzib.Zww(rnztv, "VcznkovRnztv.qkt");
// 创建 RnztvKilxvhhli 实例
RnztvKilxvhhli kilxvhhli = mvd RnztvKilxvhhli();
// 处理图片
kilxvhhli.WlRnztvh(rnztvh, rnztvMznvWrxgrlmzib);
// 释放资源
rnztv.Wrhklhv();
}
}