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)] ...
随机推荐
- C Primer Plus--C预处理器和C库(1)
目录 预处理符号 明显常量 #define 编译程序之前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语. 预处理器可以根据你 ...
- PhpStorm 设置自动FTP同步文件
1.添加一个FTP服务器 ① 首先在这里打开添加FTP的页面,步骤,工具栏 -> Tools -> Deployment -> Configuration . ②添加服务器 ...
- 如果判断条件过多,可以直接在computed里面去返回需要判断的数据
bad <div class="offer-item_margin" v-show="offer.supplierName || offer.supplierSto ...
- Spring AOP的实现记录操作日志
适用场景: 记录接口方法的执行情况,记录相关状态到日志中. 注解类:LogTag.java package com.lichmama.spring.annotation; import java.la ...
- Windows 安装R
下载 R 的安装包 双击 安装包 进行安装 安装完成 测试 修改 R 中的CRAN镜像 添加到 Windows 的环境变量中 测试
- 龙贝格积分(c++)
用龙贝格算法计算积分 #include <iostream> #include<cmath> #include <iomanip> using namespace ...
- Alpha3
队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11899921.html 作业博客 :https://edu.cnblogs.com/campus/f ...
- linux shell中如何批量添加一行内容到某些文件的末尾?
答:先使用find找出要指定的某些文件,然后使用xargs和sed工具将内容插入到这些文件的末尾 find . -name 'filename*' | xargs sed -i '$a\added-c ...
- String.format()详细用法
String.format()字符串常规类型格式化的两种重载方式 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字 ...
- linux列出当前目录下的所有的目录?
### 列出当前目录下的所有目录: [root@localhost ~]# ls -ld * #列出所有的文件 drwxr-xr-x. root root Nov : elasticsearch d ...