You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在图片左侧和顶部绘制线条,当前实现是否为最快最简方案?

关于图片添加左侧和顶部条带的实现方案分析

你当前的代码只是把原图在新画布上偏移了位置,留出了左侧和顶部的空白,但并没有完成绘制条带的步骤,离目标效果还差一步。单从实现目标的角度来说,这个思路不算完整,更谈不上最快最简洁。

更简洁的实现方式

要达到你要的效果,只需要在现有代码基础上补上绘制左侧和顶部条带的逻辑就行,比如用FillRectangle直接填充对应区域,代码直白且规范:

var srcImg = new Bitmap(@"D:\img.png");
var lineSize = 3;
var extImg = new Bitmap(srcImg.Width + lineSize, srcImg.Height + lineSize);
using (var extGfx = Graphics.FromImage(extImg))
{
    // 绘制左侧和顶部的深色条带(颜色可根据需求调整)
    var stripColor = Color.FromArgb(60, 60, 60);
    extGfx.FillRectangle(new SolidBrush(stripColor), 0, 0, lineSize, extImg.Height);
    extGfx.FillRectangle(new SolidBrush(stripColor), lineSize, 0, srcImg.Width, lineSize);
    // 绘制原图到对应位置
    extGfx.DrawImage(srcImg, lineSize, lineSize);
}

这里用using包裹Graphics对象,能避免资源泄漏,是更标准的写法。

关于"最快"的考量

如果是普通业务场景,上面的GDI+操作已经足够高效,完全能满足需求。要是追求极致性能,可以用LockBits直接操作Bitmap的像素数据,但这种方式代码复杂度会高很多,对于这种简单的条带绘制,完全没必要舍近求远。

总结来说,优化后的GDI+方案就是最简单且足够快的选择,既不用写复杂逻辑,性能也能达标。

内容的提问来源于stack exchange,提问作者Lexxy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:54:24