社区
Delphi
帖子详情
关于image copyRect Resize,很急在线等待!!大虾救命呀!!!
YoungKing
2003-08-19 02:40:21
窗体现处于normal状态。
image.align=alclient;
在formCreate中用CopyRect将image.canvas拷贝了图片。
但是,改变窗体使之处于最大化时,image.的图片并不随之扩大,我在formResize中写代码重新拷贝图片也不好用?就好像image的大小不变似的
但是调试出来的image.width和height均是变化的。
该怎么办?
...全文
84
8
打赏
收藏
关于image copyRect Resize,很急在线等待!!大虾救命呀!!!
窗体现处于normal状态。 image.align=alclient; 在formCreate中用CopyRect将image.canvas拷贝了图片。 但是,改变窗体使之处于最大化时,image.的图片并不随之扩大,我在formResize中写代码重新拷贝图片也不好用?就好像image的大小不变似的 但是调试出来的image.width和height均是变化的。 该怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DWGZ
2003-08-19
打赏
举报
回复
非常抱歉应该是在OnResize时Repaint
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormResize(Sender: TObject);
private
FBmp: TBitmap;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
FBmp := TBitmap.Create;
FBmp.LoadFromFile('F:\1.bmp');
//你还可以, Self.Brush.Bitmap := FBmp;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FBmp.Free;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.StretchDraw(ClientRect, FBmp);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Repaint;
end;
hxmforyou
2003-08-19
打赏
举报
回复
你在CopyRect函数中要拷贝的目标区域的Rect拉大成你需要的大小就可以了。
如把const Dest: TRect设置成你变大后的窗体的大小,就可以了。
YoungKing
2003-08-19
打赏
举报
回复
我走了
YoungKing
2003-08-19
打赏
举报
回复
谢谢!
不过,大哥,能不能建一个简单的工程试一下.
真的不好试,我都试过了...
DWGZ
2003-08-19
打赏
举报
回复
Form1Create时
RePaint;
YoungKing
2003-08-19
打赏
举报
回复
我考,高手在哪里呀?!
真的没有一个帮一下忙吗?
YoungKing
2003-08-19
打赏
举报
回复
不好用呀,用FormOnPaint,已开始时并不拷贝!!!(delphi ver6.0 winxp)
程序开始运行时,看不到图片的!
只有当最大化时,则确实可以实现。
DWGZ
2003-08-19
打赏
举报
回复
在FormOnPaint时Copy, 给分吧
delphi7
copy
rect
图片切换效果
最近看了一本书,讲delphi7中的图片的处理,这里上传几个常用的图片转换的效果,有雨滴,百叶窗等。
Delphi 垂直交错显示效果.rar
图片的垂直交错效果,Delphi 编写的图片垂直交错显示效果,之前就分享过这种效果,类似百叶窗的交替显示效果,可用于图片转场,不过本效果还有很多地方需要优化,当时是写给一本书,作为随书实例的,有兴趣的可参考,关于本功能的关键代码部分,请看以下代码: newbmp:= TBitmap.Create; newbmp.Width:=
image
1.Width; newbmp.Height:=
image
1.Height; bmpheight:=
image
1.Height; bmpwidth:=
image
1.Width; i:=0; while i<=bmpheight do begin j:=i; while j >0 do begin newbmp.Canvas.
Copy
Rect
(
Rect
(0,j-1,bmpwidth,j),
image
1.Canvas,
Rect
(0,bmpheight-i j-1,bmpwidth,bmpheight-i j)); newbmp.Canvas.
Copy
Rect
(
Rect
(0,bmpheight-j-1,bmpwidth,bmpheight-j),
image
1.Canvas,
Rect
(0,i-j,bmpwidth,i-j 1)); j:=j-2; Application.ProcessMessages; end; form1.Canvas.Draw(0,0,newbmp); i:=i 2; end; newbmp.free;
Delphi 屏 幕 拷 贝 程 序
Borland 公 司 的 天 才 设 计 师 们 用 画 布(Tcanvas) 对 象 封 装 了Windows 的 大 部 分 图 形 输 出 功 能, 这 使 得 我 们 可 以 通 过 他 以 更 直 观 的 方 式 和Windows 的 屏 幕 打 交 道, 而 不 必 关 心 令 人 头 疼 的Windows API 函 数。 下 面 的 一 小 段 程 序 就 可 以 实 现 整 个 屏 幕 的 图 象 拷 贝 了。 var //变量声明 Fullscreen:Tbitmap; FullscreenCanvas:TCanvas; dc:HDC;
图片放大镜效果
实现图片的放大镜效果的源码,欢迎下载! procedure TForm1.
Image
Copy
(BoxCenterX,BoxCenterY, BoxSide: Integer); begin with Source
Rect
do begin Left:=BoxCenterX-BoxSide; Top:=BoxCenterY-BoxSide; Right:=BoxCenterX+BoxSide; Bottom:=BoxCenterY+BoxSide; end; with Dest
Rect
do begin Left:=BoxCenterX-dSide; Top:=BoxCenterY-dSide; Right:=BoxCenterX+dSide; Bottom:=BoxCenterY+dSide; end; Fore
Image
.Canvas.
Copy
Rect
(Dest
Rect
, Back
Image
.Canvas, Source
Rect
); end; procedure TForm1.Fore
Image
MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin DoubleBuffered :=True; NewX:=X; NewY:=Y; if msHide then begin OldX:=NewX; OldY:=NewY; msHide:=False; ShowCursor(False); end else begin
Image
Copy
(OldX, OldY, dSide); end;
Image
Copy
(NewX, NewY, sSide); OldX:=NewX; OldY:=NewY; end;
Delphi 全屏抓图 范例.rar
Delphi 全屏抓图范例源码,除了全屏截图外还演示了区域抓图的实现,最后将抓图保存了图片,可把本源码作为Delphi图像工具软件的一个模块来借鉴。 Fullscreen:=TBitmap.Create;//创建一个BITMAP来存放图象 Fullscreen.Width:=screen.width; Fullscreen.Height:=screen.Height; DC:=GetDC(0);//取得屏幕的DC,参数0指的是屏幕 FullscreenCanvas:=TCanvas.Create;//创建一个CANVAS对象 FullscreenCanvas.Handle:=DC; Fullscreen.Canvas.
Copy
Rect
(
Rect
(0,0,screen.Width,screen.Height),fullscreenCanvas,
Rect
(0,0,Screen.Width,Screen.Height)); // 把整个屏幕复制到BITMAP中 FullscreenCanvas.Free;//释放CANVAS对象 ReleaseDC(0,DC);//释放DC
image
1.picture.Bitmap:=fullscreen;//拷贝下的图象赋给
IMAGE
对象
image
1.Width:=fullscreen.Width;
image
1.Height:=fullscreen.Height; fullscreen.free;//释放bitmap form1.show;//显示窗口 messagebeep(1);//BEEP叫一声,报告图象已经截取好了。
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章