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)] ...
随机推荐
- 从海量数据中寻找出topK的最优算法代码
package findMinNumIncludedTopN;/** * 小顶堆 * @author TongXueQiang * @date 2016/03/09 * @since JDK 1.8 ...
- Python实现 "反转字符串中的元音字母" 的方法
#coding=utf- def reverseVowels(s): """ :type s: str :rtype: str """ sS ...
- mysql 左联结与右联结
mysql> select * from test; +----+------------+-------+-----------+ | id | name | score | subject ...
- 【算法编程 C++ Python】二维数组查找
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路: 最简单:每一行都 ...
- go 牛顿法开平方
func main() { fmt.Println(sqrt(3)) } func sqrt(x float64)float64{ z := x for i := 0; i < 10 ; i++ ...
- spring 整合 servlet
目的:记录spring整合 servlet过程demo.(企业实际开发中可能很少用到),融会贯通. 前言:在学习spring 过程(核心 ioc,aop,插一句 学了spring 才对这个有深刻概念, ...
- #C++初学记录(奶酪#并查集)
原题目:牛客网 题目描述 : 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞.我们可以在这块奶酪中建立空间坐标系, 在坐标系中,奶酪的下表面为 ...
- php 5 与7有什么区别
PHP 7.0使用新版的ZendEngine引擎,带来了许多新的特性,其与相比,有如下特性: 性能提升:PHP7比PHP5.0性能提升了两倍. 全面一致的64位支持. 以前的许多致命错误,现在改成抛出 ...
- sql查询最近7天数据(以年-月-日结果展示)
sql代码如下: , 查询结果如下:
- Learning Context Graph for Person Search
Learning Context Graph for Person Search 2019-06-24 09:14:03 Paper:http://openaccess.thecvf.com/cont ...