如何用DELPHI进行图像的分割?本人分数多多,如能解决可以再送200。 如何把JPEG格式的图像按要求比例分割,并且能还原?如分割成2X2,4X4等。如能解决可以送分多多,多多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 分割图像 (Dhome的话:最好使用CopyRect和Bitblt)。详情可参看Delphi中CANVAS使用三例或者用Delphi实现位图显示特技---- 有 时 候 我 们 需 要 把 一 个 图 像 分 割 成 几 部 分。 比 如 做 一 个 拼 版 游 戏 时, 就 需 要 把 图 像 分 割 成16块。 利 用Canvas 的 属 性Pixels 可 以 实 现 这 一 功 能。 下 面 的 例 子 演 示 了 如 何 把Image 控 件 中 的 图 像 分 成 左 右 两 部 分 并 把 它 们 复 制 到 窗 体 的 画 布 上。 本 示 例 程 序 的 制 作 步 骤 如 下: ---- (1) 建 立 一 个 新 的 应 用 程 序。 ---- (2) 在 窗 体 中 加 入 一 个Image 控 件, 名 字 为Image1。 把 属 性Picture 设 置 为Delphi 目 录 下 的Image\Buttons\Abort.bmp。 ---- (3) 在 类TForm1 的private 部 分, 加 入 语 句: procedure DivideCanvas(formBegX,ImageBaseX,HalfImageWidth:Integer); //在单元的implementation部分加上过程 DivideCanvas的实现。procedureTForm1.DivideCanvas(formBegX,ImageBaseX,HalfImageWidth:Integer);var x,y:integer;begin for x:=0 to HalfImageWidth-1 do begin for y:=0 to Image1.Height-1 do begin Canvas.Pixels[formBegX+x,y]:=Image1.Canvas.Pixels[ImageBaseX+x,y]; end; end;end;---- (4) 在Form1 的OnPaint 事 件 中, 加 入 代 码 后 如 下 所 示: procedure TForm1.FormPaint(Sender: TObject);var HalfImageWidth:integer;begin HalfImageWidth:=Image1.Width div 2; DivideCanvas(0,0,HalfImageWidth); {复制图像的左半部分} DivideCanvas(HalfImageWidth+50,HalfImageWidth,HalfImageWidth); {复制图像的右半部分}end; 用copyrect会出现数据丢失,如何解决 请问tb97哪有的下 江湖救急,毕业设计遇到问题卡住了,望各大侠相助! 图片流压缩急问!!! fireMonkey的HD程序可以用ADO组件在MAC系统连接数据库吗? ADO数据库更新的错误 在Dephi6中的Tab键的设置问题,超级简单问题,马上给分! 我想做一个登陆界面,界面中需要输入用户名和密码,用户名、密码........ 昨晚家中被盗,极不爽,散分! 急!!!求教关于数值型数据显示问题 我想用Delphi写一个简体转火星文的程序,不知道怎么实现,能不能给段代码? 如何实现分组广播??? 如何在delphi中安装windows的MediaPlay控件(msdxm.ocx)?
---- 有 时 候 我 们 需 要 把 一 个 图 像 分 割 成 几 部 分。 比 如 做 一 个 拼 版 游 戏 时, 就 需 要 把 图 像 分 割 成16
块。 利 用Canvas 的 属 性Pixels 可 以 实 现 这 一 功 能。 下 面 的 例 子 演 示 了 如 何 把Image 控 件 中 的 图 像 分 成 左 右 两 部 分 并 把 它 们 复 制 到 窗 体 的 画 布 上。 本 示 例 程 序 的 制 作 步 骤 如 下:
---- (1) 建 立 一 个 新 的 应 用 程 序。
---- (2) 在 窗 体 中 加 入 一 个Image 控 件, 名 字 为Image1。 把 属 性Picture 设 置 为Delphi 目 录 下 的Image\Buttons\Abort.bmp。
---- (3) 在 类TForm1 的private 部 分, 加 入 语 句: procedure DivideCanvas(formBegX,ImageBaseX,HalfImageWidth:Integer); //在单元的implementation部分加上过程 DivideCanvas的实现。procedureTForm1.DivideCanvas(formBegX,ImageBaseX,HalfImageWidth:Integer);
var
x,y:integer;
begin
for x:=0 to HalfImageWidth-1 do
begin
for y:=0 to Image1.Height-1 do
begin
Canvas.Pixels[formBegX+x,y]:=Image1.Canvas.Pixels[ImageBaseX+x,y];
end;
end;
end;---- (4) 在Form1 的OnPaint 事 件 中, 加 入 代 码 后 如 下 所 示:
procedure TForm1.FormPaint(Sender: TObject);
var
HalfImageWidth:integer;
begin
HalfImageWidth:=Image1.Width div 2;
DivideCanvas(0,0,HalfImageWidth); {复制图像的左半部分}
DivideCanvas(HalfImageWidth+50,HalfImageWidth,HalfImageWidth); {复制图像的右半部分}
end;