在批量为图片添加图片水印的时候,出现“内存不足”的错误。水印方法如下(网上找来的):

/**//// <summary>
/// 为图片添加图片水印
/// </summary>
/// <param name="originalimage"></param>
/// <param name="MarkImg">水印图片绝对路径</param>
public static void Add_ImgWartMark(string originalimage,string MarkImg)

{
System.Drawing.Image image = System.Drawing.Image.FromFile(originalimage);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(MarkImg);
Graphics g = Graphics.FromImage(image);
g.DrawImage(copyImage, new Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
g.Dispose();

string extension = Path.GetExtension(originalimage);
string newPath = originalimage.Replace(extension, "_w" + extension);
image.Save(newPath);
image.Dispose();
copyImage.Dispose();
image = null;
copyImage = null;
}
之前没有判断图片的格式,就直接把图片的地址传了进来,结果一直出现“内存不足”的错误。这是因为在外层遍历文件的时候,没有判断是否是图片就传了进来。
所以在外面判断下图片格式就没什么问题了。
if(Path.GetExtension(file.Name)!=".jpg")


{
//调水印方法
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)