• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi编程分割图片的方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Delphi切割图片,Delphi图片分割
这个例子是把一张图片平均分成了 4 份, 顺序是: 左、右、上、下; 没使用循环操作, 显得有点笨, 但容易理解.
unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
const
  path = 'c:\temp\test.bmp';
  { 先准备好测试图片 } var
  bit: TBitmap;
  bits: array [0 .. 3] of TBitmap;
  { 假如分成 4 份 } i, w, h: Integer;
begin
  bit := TBitmap.Create;
  bit.LoadFromFile(path);
  w := bit.Width div 2;
  h := bit.Height div 2;
  for i := 0 to 3 do
  begin
    bits[i] := TBitmap.Create;
    bits[i].SetSize(w, h);
  end;
  BitBlt(bits[0].Canvas.Handle, 0, 0, w, h, bit.Canvas.Handle, 0, 0, SRCCOPY);
  BitBlt(bits[1].Canvas.Handle, 0, 0, w, h, bit.Canvas.Handle, w, 0, SRCCOPY);
  BitBlt(bits[2].Canvas.Handle, 0, 0, w, h, bit.Canvas.Handle, 0, h, SRCCOPY);
  BitBlt(bits[3].Canvas.Handle, 0, 0, w, h, bit.Canvas.Handle, w, h, SRCCOPY);
  for i := 0 to 3 do
  begin
    bits[i].SaveToFile(ChangeFileExt(path, Format('.%.3d.bmp', [i + 1])));
    bits[i].Free;
  end;
  bit.Free;
end;

end.

[本文来自: 学Delphi网(http://www.xuedelphi.com/) ]详细出处参考:http://www.xuedelphi.cn/article/html2010/2010102722310213.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
科学计算与MATLAB语言 -PART(1)发布时间:2022-07-18
下一篇:
matlab 对tif数据高程图的处理分析发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap