如何用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会出现数据丢失,如何解决 三层结构中关于SocketConnection的问题 有关双摄像头的编程问题,急... ,在线等待 请请,mssql与ado连接后,调用出错???? 数据转换问题,请看看! 大家齐努力,将SDK/API版建得更好! 用Delphi7+Access如何做一個C/S的軟件? 有办法让 delphi 编的cgi(*.exe)程序做到弹出信息窗的效果吗? 多线程访问数据库的问题。 关于 query 对数据库修改的烦人问题! 有什么好方法将两个TABLE的数据加起来? 如何实现分组广播??? 如何在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;