zoukankan      html  css  js  c++  java
  • 图片的合并与缩放 回复 "錢亞兵" 的问题

    问题来源: http://www.cnblogs.com/del/archive/2008/12/30/1316584.html#1417644

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    {将两个图片横向合并}
    procedure TForm1.Button1Click(Sender: TObject);
    var
      bit, bit1, bit2: TBitmap;
      h: Integer;
    begin
      bit := TBitmap.Create;
      bit1 := TBitmap.Create;
      bit2 := TBitmap.Create;
    
      bit1.LoadFromFile('c:\temp\test1.bmp');
      bit2.LoadFromFile('c:\temp\test2.bmp');
    
      h := bit1.Height; if bit2.Height > h then h := bit2.Height;
      bit.SetSize(bit1.Width + bit2.Width, h);
    
      bit.Canvas.Draw(0, 0, bit1);
      bit.Canvas.Draw(bit1.Width, 0, bit2);
    
      bit.SaveToFile('c:\temp\test.bmp');
    
      bit.Free;
      bit1.Free;
      bit2.Free;
    end;
    
    {将图片缩小至 1/4}
    procedure TForm1.Button2Click(Sender: TObject);
    const
      r = 0.25;
    var
      bit1, bit2: TBitmap;
    begin
      bit1 := TBitmap.Create;
      bit2 := TBitmap.Create;
    
      bit1.LoadFromFile('c:\temp\test.bmp');
    
      bit2.SetSize(Trunc(bit1.Width * r), Trunc(bit1.Height * r));
      bit2.Canvas.StretchDraw(Rect(0,0,bit2.Width,bit2.Height), bit1);
    
      bit2.SaveToFile('c:\temp\test.bmp');
    
      bit1.Free;
      bit2.Free;
    end;
    
    end.
    
  • 相关阅读:
    重新学习MySQL数据库开篇:数据库的前世今生
    Java网络编程和NIO详解9:基于NIO的网络编程框架Netty
    测试小鲸鱼
    golang
    技术篇
    请求报文和响应报文
    编程
    测试
    PHP
    centos7.1 从源码升级安装Python3.5.2
  • 原文地址:https://www.cnblogs.com/del/p/1365376.html
Copyright © 2011-2022 走看看