`

将多张图片合并为一张大图片

阅读更多

    类似拼图游戏中,我们常常要将多张图片拼成一张图片。这些小图片的特征类似:宽,高每张都相等。

Delphi 7代码如下:

program Gigsaw;

{$APPTYPE CONSOLE}

uses
  SysUtils,jpeg,Graphics;

var
i,j:integer;
jp: TJPEGImage;
bmp_t, bmp: TBitmap;
sfile,sDir:string;
y,yMax,xMax: Integer;

begin
   for i:= 0 to ParamCount do
    writeln(paramStr(i));
  if ParamCount < 4 then
  begin
    writeln('参数总数少于4,程序即将退出!');
    writeln('usage:' + paramStr(0) + ' [列图片个数] [图片目录] [合并后名字] [图片1] [图片2] ...');
    readln;
    exit;
  end;
  //第一个参数,一列图片个数
  //第二个参数,图片所在的目录
  //第三个参数, 合并后图片的名字(将保存在上述目录)
  //第四个至第N个参数,小图片的名字



  try
  sDir  := paramStr(2);
  sfile := paramStr(3);
  jp := TJPEGImage.Create;
  bmp := TBitmap.Create;
  bmp.PixelFormat:=pf32bit;
  bmp_t := TBitmap.Create;
  bmp_t.PixelFormat:=pf24bit;
  bmp.Width:=0;
  bmp.Height:=0;
  j:=0;
  yMax := strtoint(paramStr(1)) -1 ;
  xMax := (ParamCount - 3) div yMax;
  jp.LoadFromFile(sDir + paramStr(4));
  for i:=0 to yMax -1 do
    bmp.Height := bmp.Height+jp.Height;
  bmp.Width := jp.Width * xMax;


  i:= 4;
  while i <=  ParamCount do
  begin
    j := 0 ;
    for y:= 0 to yMax -1 do
    begin
      jp.LoadFromFile(sDir + paramStr(i));
      bmp_t.Assign(jp);
      bmp.Transparent := true;
      bmp.Canvas.Draw( (i-4) div (yMax) * jp.Width, j, bmp_t);
      j:=j+jp.Height;
      inc(i);

      if i > ParamCount then
        break;
    end;

  end;



  jp.Assign(bmp);

  jp.SaveToFile(sDir + sfile);

  bmp.Free;
  bmp_t.Free;
  jp.Free;
  Writeln('Done!!');
  except
   on e: Exception do
      begin
        writeln('exception occured:' + E.Message);
        readln;
      end;
   end;

end.

 

0
1
分享到:
评论

相关推荐

    将两张图片进行合并,并生成一张图

    本教程将深入探讨如何将两张或更多图片进行合并,并在本地生成一张新的图片。这个过程涉及到图像处理技术,通常可以使用编程语言中的库来实现,如Python的PIL(Python Imaging Library)或者Java的JavaFX。 1. PIL...

    使用PHP实现多张图片合成一张1

    在本文中,我们将探讨如何使用PHP实现多张图片合成一张图片的功能。这一过程涉及到PHP的图像处理能力,特别是图像操作函数imagecopy()。我们将按照以下步骤进行: 首先,我们需要搭建开发环境。在本案例中,开发者...

    Java将多张图片合成为一张图像.rar

    Java将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下:  InputStream...

    C#多张图片合并成一张

    在C#编程环境中,将多张图片合并成一张图片是一个常见的图像处理任务,尤其是在报表生成、拼图制作或社交媒体分享等方面。在这个项目中,我们使用Visual Studio 2013作为开发工具,通过C#语言来实现这个功能。以下是...

    将两张或三张BMP图片合并为一张

    标题“将两张或三张BMP图片合并为一张”指的是一个编程项目,该项目旨在利用编程语言读取多个BMP图像文件,并将它们合并成一个新的单一图像。描述中提到的“有源代码”意味着这个过程可以通过提供的代码来实现,这为...

    和并两张或多张图片为一张图片

    在数字图像处理领域,合并多张图片为一张是常见的需求之一。这种技术不仅被广泛应用于设计行业,如海报制作、广告设计等,还被普遍用于社交媒体分享、个人相册整理等领域。通过将多张图片合并成一张,可以有效地节省...

    JS多张图片合成一张图片代码.zip

    这个“JS多张图片合成一张图片代码”项目为开发人员提供了一个实用的工具,帮助他们轻松地将多张图片合并成一张。通过学习和理解这段代码,你可以掌握Canvas的基本用法,以及如何利用它进行图像处理。同时,这个过程...

    利用Java程序把多张图片合成一张图片

    在Java编程语言中,将多张图片合成一张图片是一项常见的图像处理任务,广泛应用于各种应用场景,如社交媒体拼图、报告生成、数据可视化等。要实现这个功能,我们需要使用到Java的图像处理库,如Java AWT(Abstract ...

    使用PHP实现多张图片合成一张

    使用PHP实现多张图片合成一张 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例主要借助PHP中的图像操作函数imagecopy()从而来实现多...

    通过BufferedImage实现将几张图片合成一张图片,图片效果类型为依次排列图片

    现在,假设你有一个名为`treasureMap`的压缩包,其中包含了四张已经处理过的图片,你可以调用上述方法,将它们合成一张图片。解压`treasureMap`后,获取四张图片的路径,并指定输出路径,像这样调用: ```java ...

    Delphi Dxgallery任意两张图片合并为一张图片

    3. **图片合并**:合并两张图片通常是将一张图片覆盖到另一张图片上。这需要计算出合适的坐标,然后调用TBitmap.Canvas.Draw方法,将第二张图片绘制到第一张图片上。如果需要保持透明度,还可以利用AlphaBlend方法...

    多张图片合并

    "多张图片合并"这个主题就是关于如何将多个图像整合到一张图片中的技术。这通常涉及到编程和图像处理库的使用,例如Java中的Java Advanced Imaging (JAI) 或者更流行的ImageIO API。 描述中提到的“图片路径数量...

    GDI+多张图片合为一张图片

    ### GDI+ 多张图片合成一张图片技术详解 #### 技术背景及应用场景 在图形处理领域,尤其是在软件开发过程中,经常会遇到需要将多张图片合成一张的需求。这种需求可能出现在各种场景下,比如社交媒体应用中的故事...

    [C#、WinForm、.Net] 多个图片合并,Image 合并

    [C#、WinForm、.Net] 多个图片合并,Image 合并,详情见文件内容

    C#实现的全景图拼接(两张图片合并成一张图片源程序)

    全景图拼接的核心目标是将多张图片合并成一张宽广视角的图像,以展示一个场景的完整或大部分视域。在C#中,这通常通过以下步骤实现: 1. **图像预处理**:首先,对输入的两张图片进行预处理,包括校正镜头畸变、...

    PHP多张图片合并成一张图片合并成九宫格图片.zip

    通过以上步骤,我们可以使用PHP将多张图片合并为一张九宫格图片。这个过程涉及文件操作、图像处理以及简单的布局计算,是PHP开发中常见的实用技巧。在实际应用中,还可以根据需求添加更多功能,如图片裁剪、调整大小...

    图像合并,可以实现多张图片快速合并一一张

    在图像处理领域,合并多张图片为一张是常见的需求,比如制作拼贴画、报告封面、社交媒体帖子等。本文将详细讲解如何实现这一功能,并基于提供的"图像合并"标签及"hebing"这个可能的源码或示例文件,探讨其相关技术与...

    js+canvas实现两张图片合并成一张图片的方法.docx

    最后,使用toDataURL方法将 Canvas 转换为 base64 编码的图片数据,并将其设置为 img 元素的src属性,以便显示合并后的图片。 在Java平台上,也可以使用Graphics2D类实现图片合并。首先,需要加载本地图片和用户的...

    C++写的一个合并图片的程序

    标题中的"C++写的一个合并图片的程序"表明这是一个利用C++编程语言开发的应用,它的主要功能是将多张图片合并成一张。这个程序可能适用于各种场景,比如制作拼图、组合照片墙或者进行创意图像设计。 描述部分提到,...

Global site tag (gtag.js) - Google Analytics