水平合并

 /// <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 合并为一个的更多相关文章

  1. Java中如何把两个数组合并为一个

    在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...

  2. Clojure:将两个list合并成一个map

    假设我们有两个list,分别是: (def a [“one” “two” “three”]) (def b [1 2 3]) 我们要把它们合为一个键值对应的map,做法很简单: 1. 先将a和b合为一 ...

  3. Java实现把两个数组合并为一个的方法总结

    本文实例讲述了Java实现把两个数组合并为一个的方法.分享给大家供大家参考,具体如下: 在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁, ...

  4. 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝

    第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...

  5. 将两个DataTable合并成一个DataTable

    转载自 http://blog.csdn.net/wangxiaojia42121/article/details/53330464 谢谢 //两个结构一样的DT合并DataTable DataTab ...

  6. 两个list合并成一个list的操作

    addAll  添加另一集合里面的元素 add 添加整个集合包括 [] Stream 操作 合并两个lis  出自http://www.it1352.com/963663.html public cl ...

  7. python基础===两个list合并成一个dict的方法

    def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...

  8. 如何将两个json合并成一个

    //调用方法: var targetObject = [{name:"11",age:11}]; var sourceObject = [{name:"22", ...

  9. python中如何将两个list合并成一个list,不用for语句

    1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] ...

随机推荐

  1. C Primer Plus--C预处理器和C库(1)

    目录 预处理符号 明显常量 #define 编译程序之前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语. 预处理器可以根据你 ...

  2. PhpStorm 设置自动FTP同步文件

    1.添加一个FTP服务器 ① 首先在这里打开添加FTP的页面,步骤,工具栏 -> Tools -> Deployment -> Configuration .     ②添加服务器  ...

  3. 如果判断条件过多,可以直接在computed里面去返回需要判断的数据

    bad <div class="offer-item_margin" v-show="offer.supplierName || offer.supplierSto ...

  4. Spring AOP的实现记录操作日志

    适用场景: 记录接口方法的执行情况,记录相关状态到日志中. 注解类:LogTag.java package com.lichmama.spring.annotation; import java.la ...

  5. Windows 安装R

    下载 R 的安装包 双击 安装包 进行安装 安装完成 测试 修改 R 中的CRAN镜像 添加到 Windows 的环境变量中 测试

  6. 龙贝格积分(c++)

    用龙贝格算法计算积分 #include <iostream> #include<cmath> #include <iomanip> using namespace  ...

  7. Alpha3

    队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11899921.html 作业博客 :https://edu.cnblogs.com/campus/f ...

  8. linux shell中如何批量添加一行内容到某些文件的末尾?

    答:先使用find找出要指定的某些文件,然后使用xargs和sed工具将内容插入到这些文件的末尾 find . -name 'filename*' | xargs sed -i '$a\added-c ...

  9. String.format()详细用法

    String.format()字符串常规类型格式化的两种重载方式 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字 ...

  10. linux列出当前目录下的所有的目录?

    ###  列出当前目录下的所有目录: [root@localhost ~]# ls -ld * #列出所有的文件 drwxr-xr-x. root root Nov : elasticsearch d ...