合并多张图像到一张

复制代码
    public static class ImageUtil
    {public static void MergeImages(List<string> imageFileNames, string finalImageName, ImageFormat imageFormat)
        {
            using (var file = File.OpenWrite(finalImageName))
            {
                int width = 0, height = 0;
                for (int i = 0; i < imageFileNames.Count(); i++)
                {
                    using (Image tempImg = Image.FromFile(imageFileNames[i]))
                    {
                        height += tempImg.Height;
                        width = width > tempImg.Width ? width : tempImg.Width;
                    }
                }

                using (Bitmap b = new Bitmap(width, height))
                {
                    using (Graphics g = Graphics.FromImage(b))
                    {
                        g.CompositingMode = CompositingMode.SourceCopy;
                        int x = 0, y = 0;
                        for (int j = 0; j < imageFileNames.Count(); j++)
                        {
                            using (Image currentImg = Image.FromFile(imageFileNames[j]))
                            {
                                g.DrawImageUnscaled(currentImg, x, y);
                                y += currentImg.Height;
                            }
                        }
                        b.Save(file, imageFormat);
                    }
                }
            }
        }
    }
复制代码

 

posted @   业荒于嬉  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示