社区
Delphi
帖子详情
图象处理高手请进,怎么实现图象的放大与缩小?进来有分
wolovecn
2003-09-24 10:56:18
在TImage上画图,
谢谢
最好有代码
...全文
45
9
打赏
收藏
图象处理高手请进,怎么实现图象的放大与缩小?进来有分
在TImage上画图, 谢谢 最好有代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
horse_h
2003-09-24
打赏
举报
回复
up
haodaniu
2003-09-24
打赏
举报
回复
用stretchblt(image1.canvas.handle,left,top,width,height,bmp.canvas.handle,left,top,width,height,srccopy);
其中image1是你要往上绘图的image,bmp是你的原图,
就是用api函数stretchblt().
wolovecn
2003-09-24
打赏
举报
回复
wypepsi(百事可乐)
好象缩小时原来的图象也在
FrameSniper
2003-09-24
打赏
举报
回复
8会,学习!
wypepsi
2003-09-24
打赏
举报
回复
Image.Picture.LoadFromFile(ImageName);//将图片导入Image
Image.Stretch:=True;//打开图像的自动缩放属性
然后你只需要动态调节Image的Width和Height属性就可以实现图像的放大和缩小
dxwin
2003-09-24
打赏
举报
回复
我用vb编过一个,要扩大几倍就是把一个个象素点相应复制几个,简单
jpyc
2003-09-24
打赏
举报
回复
本文介绍实现图象局部、平滑和无闪烁放大的算法原理,以及在Delphi中实现的技术。读完本文,您一定会为Delphi能用如此少的代码实现如此强大的功能惊叹不已,这是许多其它开发工具所无法比拟的。
算法原理
在Delphi中,可利用类Tcanvas的CopyRect方法实现图象的放大和缩小。其功能是将源画布上的一个指定矩形区域(简称源矩形)内的象素,拷贝到目的画布上的一个指定矩形区域(简称目的矩形)中。亦可称之为象素块复制,如图1所示。
由CopyMode属性确定拷贝的模式。在直接拷贝模式(cmSrcCopy)下,当源矩形与目的矩形相等时,图象不变;若源矩形大于目的矩形,图象则缩小;而当源矩形小于目的矩形时,图象便被放大(在目的矩形中扩展)。源矩形与目的矩形大小之比,决定图象的缩放倍数。CopyRect方法声明如下:
Procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: Trect);
其中参数,Dest为目的矩形,Canvas是源画布,Source为源矩形。
实现步骤
新建应用程序主目录C:及其子目录Images,将事先制作好的位图图象Picture.bmp存入Images目录。本例中,Picture.bmp的大小为260*310象素。
启动Delphi IDE,新建项目Magnifier.dpr,主窗体单元命名为Main.pas,存入C:目录。在主窗体上放置一个TPanel组件,并在其中加入两个TImage组件。两个TImage组件分别命名为ForeImage和BackImage,前者重叠于后者之上,并且都装入Picture.bmp位图。
主窗体和各组件的主要属性按表1设置:
表1 主窗体和各组件属性设置
组 件 属 性 设 置
Form1 BorderIcons.biMaximize False
BorderStyle bsNone
Color clRed
Height 364
KeyPreview True
Name MainForm
Position poScreenCenter
Width 294
WindowState wsNormal
Panel1 Align alNone
BevelInner bvLowered
BevelOuter bvRaised
BevelWidth 2
BorderStyle bsNone
BorderWidth 2
Height 322
Name FramePanel
Visible Ture
Width 272
Image1 Align alNone
AutoSize True
Center True
Height 310
Name BackImage
Picture Picture.bmp
Stretch False
Visible False
Width 260
Image2 Align alNone
AutoSize True
Center True
Height 310
Name ForeImage
Picture Picture.bmp
Stretch False
Visible True
Width 260
上述各组件的许多属性,读者亦可根据个人的爱好设定。在主单元Main.pas的implementation段声明常量和变量:
const
sSide=30;
dSide=45;
var
msHide: Boolean;
OldX, OldY, NewX, NewY: Integer;
DestRect, SourceRect : TRect;
其中,常量sSide和dSide用以控制“放大镜”的大小和放大倍数;变量msHide控制光标(鼠标)的隐藏和打开;其它变量用以确定放大部位。
建立主窗体MainForm的OnCreate事件,加入下列语句,以初始化变量及设置复制模式:
msHide:=True;
Canvas.CopyMode:=cmSrcCopy;
--------------------------------------------
参考吧
lxhong1980
2003-09-24
打赏
举报
回复
begin
image1.Width := image1.Width * 2;
image1.Height := image1.Height * 2;
//image2.Picture.Assign(image1.Picture);
image2.Stretch := true;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
image1.Canvas.LineTo(77,77);
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
image1.Width := image1.Width div 2;
image1.Height := image1.Height div 2;
end;
lxhong1980
2003-09-24
打赏
举报
回复
procedure TForm_HuaTu.BitBtn5Click(Sender: TObject);
begin
Image1.Canvas.CopyRect(Rect(0,0,2*Image1.Width,2*Image1.Height),Image1.Canvas, Rect(0,0,Image1.Width,Image1.Height));
end;
procedure TForm_HuaTu.BitBtn6Click(Sender: TObject);
begin
Image1.Canvas.Pen.Mode:=pmNotXor;
Image1.Canvas.CopyRect(Rect(0,0,Image1.Width div 2,Image1.Height div 2),Image1.Canvas, Rect(0,0,Image1.Width,Image1.Height));
end;
缩小的时候原来图象还在
继续关注
Snagit10.0汉化版(最好的抓图软件)
SnagIt屏幕截图截屏是使用电脑中最常运用到的功能之一,而系统自带的截图或者我们经常使用到的QQ截图功能并不能在所有窗口中都能截取画面,一些特殊的窗口,如:DOS屏幕;RM电影、游戏画面等窗口就需要专业点的截图工具来完成这项操作。今天推荐一个功能非常强大而且非常老牌的全能屏幕截图截屏软件给各位童鞋,它就是SnagIt,相对其他小型截图截屏软件来说,SnagIt体积算是巨大的,正因为SnagIt不单纯是截屏软件,后期编辑处理,图像格式转换,屏幕录制功能也完全胜任,SnagIt非常注重用户体验,可谓它是集截图、编辑、分享、管理于一身的一站式屏幕截图截屏软件。 各种方案适合各种需要: SnagIt四种图像捕捉模式(图像模式、文本模式、视频模式、Web模式),满足任何情况下的屏幕截图,支持自动定时捕捉功能。简单预置屏幕捕捉方案及输出方案并加上一些前期效果,如标题、边框、边缘效果、水印、各种色泽调整等等,成功截屏后,几乎可以保存为所有常见格式
图象
,如:BMP、PCX、TIF、GIF或JPEG格式,也可以存为视频动画。使用JPEG可以指定所需的压缩级(从1%到99%)。可以选择是否包括光标。另外还具有自动缩放,颜色减少,单色转换,抖动,以及转换为灰度级,可以将整个网页保存为Flash或pdf格式方便阅览。 内置强大的编辑与格式转换功能: 对于不同的捕捉类型的信息,请参阅你想捕捉什么? 使用FrameMaker中添加 1。在SnagIt的工具栏的下拉菜单选择的捕捉选项。 2。单击SnagIt的捕获按钮。捕捉出现在SnagIt的编辑。 3。编辑或注释在编辑器捕捉。 4。点击Finish按钮。捕获显示在FrameMaker中的文件。 自定义FrameMaker中捕获 单击SnagIt的工具栏上的设置按钮,自定义您的捕获。 选择立即打开您的捕获,编辑在编辑器中预览。 选择复制到文件插入到当前文档的捕获,或选择“无”发送捕获到输出选项选择剪贴板或文件。 选择捕获时间给自己设立的捕捉之前的时间延迟。菜单捕获总是使用的时间延迟。 选择参考的进口,以保持与源文件的图形。 FrameMaker中存储的路径,文件中的源文件。如果您编辑的源文件,FrameMaker中更新文件的最新版本。 使用自定义的图像缩放(DPI)来自动捕捉图像缩放。 Snagit相比其他截图工具,有它独特的功能特点: 1、捕捉的种类多:不仅可以捕捉静止的图像,而且可以获得动态的图像和声音,另外还可以在选中的范围内只获取文本。 2、捕捉范围极其灵活:可以选择整个屏幕,某个静止或活动窗口,也可以自己随意选择捕捉内容。 3、输出的类型多:可以以文件的形式输出,也可以把捕捉的内容直接发e-mail给朋友,另外可以编辑成册。 4、具备简单的图形处理功能:利用它的过滤功能可以将图形的颜色进行简单处理,也可对图形进行
放大
或
缩小
。
最强的屏幕截图软件 SnagIt V10.0.1.58 汉化破解版
软件大小:23.9 MB 软件语言:简体中文 热 软件类别:图形图像/图像捕捉 软件授权:破解软件 更新时间:2011-12-06 SnagIt屏幕截图截屏是使用电脑中最常运用到的功能之一,而系统自带的截图或者我们经常使用到的QQ截图功能并不能在所有窗口中都能截取画面,一些特殊的窗口,如:DOS屏幕;RM电影、游戏画面等窗口就需要专业点的截图工具来完成这项操作。今天推荐一个功能非常强大而且非常老牌的全能屏幕截图截屏软件给各位童鞋,它就是SnagIt,相对其他小型截图截屏软件来说,SnagIt体积算是巨大的,正因为SnagIt不单纯是截屏软件,后期编辑处理,图像格式转换,屏幕录制功能也完全胜任,SnagIt非常注重用户体验,可谓它是集截图、编辑、分享、管理于一身的一站式屏幕截图截屏软件。 各种方案适合各种需要: SnagIt四种图像捕捉模式(图像模式、文本模式、视频模式、Web模式),满足任何情况下的屏幕截图,支持自动定时捕捉功能。简单预置屏幕捕捉方案及输出方案并加上一些前期效果,如标题、边框、边缘效果、水印、各种色泽调整等等,成功截屏后,几乎可以保存为所有常见格式
图象
,如:BMP、PCX、TIF、GIF或JPEG格式,也可以存为视频动画。使用JPEG可以指定所需的压缩级(从1%到99%)。可以选择是否包括光标。另外还具有自动缩放,颜色减少,单色转换,抖动,以及转换为灰度级,可以将整个网页保存为Flash或pdf格式方便阅览。 内置强大的编辑与格式转换功能: 对于不同的捕捉类型的信息,请参阅你想捕捉什么? 使用FrameMaker中添加 1。在SnagIt的工具栏的下拉菜单选择的捕捉选项。 2。单击SnagIt的捕获按钮。捕捉出现在SnagIt的编辑。 3。编辑或注释在编辑器捕捉。 4。点击Finish按钮。捕获显示在FrameMaker中的文件。 自定义FrameMaker中捕获 单击SnagIt的工具栏上的设置按钮,自定义您的捕获。 选择立即打开您的捕获,编辑在编辑器中预览。 选择复制到文件插入到当前文档的捕获,或选择“无”发送捕获到输出选项选择剪贴板或文件。 选择捕获时间给自己设立的捕捉之前的时间延迟。菜单捕获总是使用的时间延迟。 选择参考的进口,以保持与源文件的图形。 FrameMaker中存储的路径,文件中的源文件。如果您编辑的源文件,FrameMaker中更新文件的最新版本。 使用自定义的图像缩放(DPI)来自动捕捉图像缩放。 Snagit相比其他截图工具,有它独特的功能特点: 1、捕捉的种类多:不仅可以捕捉静止的图像,而且可以获得动态的图像和声音,另外还可以在选中的范围内只获取文本。 2、捕捉范围极其灵活:可以选择整个屏幕,某个静止或活动窗口,也可以自己随意选择捕捉内容。 3、输出的类型多:可以以文件的形式输出,也可以把捕捉的内容直接发e-mail给朋友,另外可以编辑成册。 4、具备简单的图形处理功能:利用它的过滤功能可以将图形的颜色进行简单处理,也可对图形进行
放大
或
缩小
。
数字图像处理期末复习题
第一章 引言 一.填空题 1.数字图像是用一个数字阵列来表示的图像。数字阵列中的每个数字,表示数字图像的一个最小单位,称为 。 2.数字图像处理可以理解为两个方面的操作:一是从图像到图像的处理,如图像增强等; 二是 ,如图像测量等。 3.数字图像处理可以理解为两个方面的操作:一是 ,如图像增强等; 二是从图像到非图像的一种表示,如图像测量等。 4.图像可以分为物理图像和虚拟图像两种。其中,采用数学的方法,将由概念形成的物体进行表示的图像是 。 5.数字图像处理包含很多方面的研究内容。其中, 的目的是根据二维
重拾图形图像处理 ---- 笔试题
一、填空题(每题1分,共15分) 1、列举数字图像处理的三个应用领域 医学 、天文学 、军事 2、存储一幅大小为1024*1024,256个灰度级的图像,需要8M bit。 3、亮度鉴别实验表明,韦伯比越大,则亮度鉴别能力越差 。 4、直方图均衡化适用于增强直方图呈尖峰 分布的图像。 5、依据图像的保真度,图像压缩可分为无损压缩 和有损压缩 6、图像压缩是建立在图像存在编码冗余 、像素...
matlab 实验
实验一 Matlab语言、数字
图象
基本操作一、实验目的1、复习MATLAB语言的基本用法;2、掌握MATLAB语言中
图象
数据与信息的读取方法;3、掌握在MATLAB中绘制灰度直方图的方法,了解灰度直方图的均衡化的方法。二、实验原理 MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。MA
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章