zoukankan      html  css  js  c++  java
  • 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 = 0; i <= first.Width - 1; i++)
                {
                    for (var j = 0; j <= first.Height - 1; j++)
                    {
                        var c = first.GetPixel(i, j);
                        newBitmap.SetPixel(i, j, c);
                    }
                }
    
                for (var i = 0; i <= second.Width - 1; i++)
                {
                    for (var j = 0; j <= second.Height - 1; 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 = 0; i <= first.Width - 1; i++)
                {
                    for (var j = 0; j <= first.Height - 1; j++)
                    {
                        var c = first.GetPixel(i, j);
                        newBitmap.SetPixel(i, j, c);
                    }
                }
    
                for (var i = 0; i <= second.Width - 1; i++)
                {
                    for (var j = 0; j <= second.Height - 1; j++)
                    {
                        var c = second.GetPixel(i, j);
                        newBitmap.SetPixel(i, j + first.Height, c);
                    }
                }
    
                first?.Dispose();
                second?.Dispose();
                return newBitmap;
            }
  • 相关阅读:
    Nginx的Mainline version、Stable version、Legacy version的版本区别
    十个程序员必备的网站推荐
    各大OJ题目分类
    ubuntu 12 安装bcm 43142无线网卡驱动
    unp.h
    Linux优秀软件整理
    陈皓一起写Makefile 概述
    开源资源目录
    (三)鸟哥Linux读书笔记
    CSS3实现选项卡
  • 原文地址:https://www.cnblogs.com/likui-bookHouse/p/11115073.html
Copyright © 2011-2022 走看看