博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片拼接器
阅读量:6502 次
发布时间:2019-06-24

本文共 2341 字,大约阅读时间需要 7 分钟。

看到李开复老师在微博上发ppt,感觉挺好的。原来新浪微博开通了发多张图片进行拼接的功能,这样就可以把ppt转成图片,然后再发布到新浪微博上。但是新浪微博有最多9张图片的限制,这个比较不爽,而对于腾讯微博,还不能发多张图片,这个就更不爽了。 所以自己就写了一个将图片拼接起来的程序,用C#写的,非常简单,其实就一个函数,总的代码也不过130行,核心拼接函数如下:
///         /// 拼接图像        ///         ///         private Image JoinImage(List imageList, JoinMode jm)        {            //图片列表            if (imageList.Count <= 0)                return null;            if (jm == JoinMode.Horizontal)            {                //横向拼接                int width = 0;                //计算总长度                foreach (Image i in imageList)                {                    width += i.Width;                }                //高度不变                int height = imageList.Max(x => x.Height);                //构造最终的图片白板                Bitmap tableChartImage = new Bitmap(width, height);                Graphics graph = Graphics.FromImage(tableChartImage);                //初始化这个大图                graph.DrawImage(tableChartImage, width, height);                //初始化当前宽                int currentWidth = 0;                foreach (Image i in imageList)                {                    //拼图                    graph.DrawImage(i, currentWidth, 0);                    //拼接改图后,当前宽度                    currentWidth += i.Width;                }                return tableChartImage;            }            else if (jm == JoinMode.Vertical)            {                //纵向拼接                int height = 0;                //计算总长度                foreach (Image i in imageList)                {                    height += i.Height;                }                //宽度不变                int width = imageList.Max(x => x.Width);                //构造最终的图片白板                Bitmap tableChartImage = new Bitmap(width, height);                Graphics graph = Graphics.FromImage(tableChartImage);                //初始化这个大图                graph.DrawImage(tableChartImage, width, height);                //初始化当前宽                int currentHeight = 0;                foreach (Image i in imageList)                {                    //拼图                    graph.DrawImage(i, 0, currentHeight);                    //拼接改图后,当前宽度                    currentHeight += i.Height;                }                return tableChartImage;            }            else            {                return null;            }        }
也做了一个很简陋的图像界面,如下图所示:  

转载地址:http://jomyo.baihongyu.com/

你可能感兴趣的文章
Python之递归函数
查看>>
小程序客服消息
查看>>
一个简单的Golang实现的HTTP Proxy
查看>>
配置openssh实现sftp远程文件上传
查看>>
Java9 新特性 详解
查看>>
杂项-模板
查看>>
sqlite多表关联update
查看>>
内联元素空隙问题
查看>>
python数据分析及展示(二)
查看>>
VS2008设置快捷键Ctrl+W关闭当前打开的文本编辑器窗口
查看>>
详解MySQL数据类型
查看>>
2018网易在线笔试题
查看>>
【laravel5.4】重定向带参数
查看>>
PHP array_walk() 函数
查看>>
java基础-数组的折半查找原理
查看>>
mybatis标签之——<trim>
查看>>
【laravel5.4】 Composer移除依赖
查看>>
第7章 高级分组
查看>>
常见错误及细小知识点锦集
查看>>
【多线程】将大批量数据插入多张表,怎么知道多张表都插成功了
查看>>