wpf 把两个Bitmap 合并为一个
水平合并
/// <summary>
/// 将两个Bitmap水平合并为一个
/// </summary>
/// <param name="first"></param>
/// <param name="second"></param>
/// <returns></returns>
private Bitmap AddBitmap(Bitmap first, Bitmap second)
{
int width = first.Width + second.Width;
int height = Math.Max(first.Height, second.Height);
var newBitmap = new Bitmap(first.Width + second.Width, height);
for (var i = ; i <= first.Width - ; i++)
{
for (var j = ; j <= first.Height - ; j++)
{
var c = first.GetPixel(i, j);
newBitmap.SetPixel(i, j, c);
}
} for (var i = ; i <= second.Width - ; i++)
{
for (var j = ; j <= second.Height - ; j++)
{
var c = second.GetPixel(i, j);
newBitmap.SetPixel(i + first.Width, j, c);
}
} first?.Dispose();
second?.Dispose();
return newBitmap;
}
垂直合并;
/// <summary>
/// 将两个Bitmap垂直合并为一个
/// </summary>
/// <param name="first"></param>
/// <param name="second"></param>
/// <returns></returns>
private Bitmap AddBitmap(Bitmap first, Bitmap second)
{
int height = first.Height + second.Height;
int width = Math.Max(first.Width, second.Width);
var newBitmap = new Bitmap(width, height);
for (var i = ; i <= first.Width - ; i++)
{
for (var j = ; j <= first.Height - ; j++)
{
var c = first.GetPixel(i, j);
newBitmap.SetPixel(i, j, c);
}
} for (var i = ; i <= second.Width - ; i++)
{
for (var j = ; j <= second.Height - ; j++)
{
var c = second.GetPixel(i, j);
newBitmap.SetPixel(i, j + first.Height, c);
}
} first?.Dispose();
second?.Dispose();
return newBitmap;
}
wpf 把两个Bitmap 合并为一个的更多相关文章
- Java中如何把两个数组合并为一个
在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...
- Clojure:将两个list合并成一个map
假设我们有两个list,分别是: (def a [“one” “two” “three”]) (def b [1 2 3]) 我们要把它们合为一个键值对应的map,做法很简单: 1. 先将a和b合为一 ...
- Java实现把两个数组合并为一个的方法总结
本文实例讲述了Java实现把两个数组合并为一个的方法.分享给大家供大家参考,具体如下: 在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁, ...
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...
- 将两个DataTable合并成一个DataTable
转载自 http://blog.csdn.net/wangxiaojia42121/article/details/53330464 谢谢 //两个结构一样的DT合并DataTable DataTab ...
- 两个list合并成一个list的操作
addAll 添加另一集合里面的元素 add 添加整个集合包括 [] Stream 操作 合并两个lis 出自http://www.it1352.com/963663.html public cl ...
- python基础===两个list合并成一个dict的方法
def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...
- 如何将两个json合并成一个
//调用方法: var targetObject = [{name:"11",age:11}]; var sourceObject = [{name:"22", ...
- python中如何将两个list合并成一个list,不用for语句
1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] ...
随机推荐
- QQ for Mac聊天纪录怎么查找??
在你Mac上打开你的QQ,选择任意聊天窗口,打字的上面有6个图表快捷键,第6个就是查看聊天记录的功能键
- 「ZJOI2019」麻将
传送门 Solution 对于条件一:记录一个\(cnt\)表示牌个数\(≥2\)的个数 设\(dp_{i,0/1,j,k}\)表示考虑了\(1...i\),当前是否有对子,以\(i-1\),\(i ...
- jmap -heap 查看堆内存
概述 用jmap -heap命令可以查看linux堆内存分布 具体用法 1:先查出tomcat的进程号 例如: 然后执行 jmap -heap 7095 可以打印出整体的堆信息 可以看到经过分配的 ...
- 块元素&行内元素
大多数HTML 元素被定义为块级元素或内联元素.块级元素在浏览器显示时,通常会以新行来开始(和结束) block元素特点 1 总是在新行上开始: 2 高度,行高以及外边距和内边距都可控制: 3 宽度缺 ...
- CTF SSTI(服务器模板注入)
目录 基础 一些姿势 1.config 2.self 3.[].() 3.url_for, g, request, namespace, lipsum, range, session, dict, g ...
- 关于js.map以及css.map
什么是source map文件. source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是m ...
- redis的相关原理
一.AOF 二.RDB 三.哨兵
- RSA签名,加解密处理核心文件
import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.secur ...
- 【SpringBoot】SpringBoot快速入门(一)
SpringBoot介绍 Spring Boot使创建可运行的独立,生产级基于Spring的应用程序变得容易.对Spring平台和第三方库整合,这样就可以以最小的麻烦开始使用.大多数Spring Bo ...
- Laya的Tween缓动没有初始化repeat导致的Bug
当你使用一个Tween给一个图标做旋转动画,循环播放.(repeat是播放次数, repeat=0无限循环,repeat=1播放一次) Laya.Tween.to(this.light,{rotati ...