社区
Delphi
帖子详情
TImage,TPaintbox,TSape的差别是什么?
zzwu
2011-08-21 08:43:57
TImage,TPaintbox,TSape的差别是什么?
有哪些功能是TImage上无法实现,而必须利用TPaintbox,TSape?
你们用过TSape组件吗?
...全文
284
17
打赏
收藏
TImage,TPaintbox,TSape的差别是什么?
TImage,TPaintbox,TSape的差别是什么? 有哪些功能是TImage上无法实现,而必须利用TPaintbox,TSape? 你们用过TSape组件吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzwu
2011-08-30
打赏
举报
回复
准备用PaintBox来画了,PaintBox以前用过,谢谢各位。
zzwu
2011-08-29
打赏
举报
回复
up一次,再2天无人回复就结贴。
无条件为你
2011-08-29
打赏
举报
回复
有了TImage就有了一切。Timage可以实现后两者的功能。
阿发伯
2011-08-29
打赏
举报
回复
如果只是画图显示,建议用TPaintBox。如果画图后还需要保存,建议用TImage。
使用TImage画图比TPaintBox慢很多的,因为你每次都是先更新TImage.Picture.Bitmap,然后再更新到界面上,特别是一些实时显示的东西,千万不要用TImage。
至于TSape则是对Windows GDI画矩形和椭圆方法的封装,不必考虑。
池龙
2011-08-29
打赏
举报
回复
[Quote=引用 13 楼 zzwu 的回复:]
作图程序当然要保存作图结果的,但我要保存的是图形的数据,像AutoCAD的DXF文件那样,而不是图形本身。不同于Photoshop。这对选用TImage,TPaintbox,TSape都不会有什么差别吧?
[/Quote]
绘图效率有差别。TImage和TShape效率比TPaintBox差不止一个档次。你试试看就知道了。
TImage是因为有缓存和自己重绘的原因,TShape虽然没有看过代码,但是从能显示固定的图形来推断必定也有类似TImage的机制。而TPaintBox基本是直接对Canvas进行的封装,效率最高。
Playmaster
2011-08-29
打赏
举报
回复
那你还是用paintbox吧。
其实还有更多更好的第三方画图控件,甚至能直接加载dxf文件显示出来,你要多去找找。
池龙
2011-08-29
打赏
举报
回复
[Quote=引用 12 楼 zzwu 的回复:]
TShape为什么直接出局?我就想利用它,似乎不要canvas也能画各种shape,这不是很方便吗?
另外,大智慧是用TPaintBox的,好像也很方便。
[/Quote]
通过设置TShape属性只能绘制单一的图形,比如一个矩形,一个圆,你要绘制复杂图形仍然需要通过直接在Canvas上绘图来实现,那么TShape多余的属性就属于鸡肋了,完全没意义。
zzwu
2011-08-29
打赏
举报
回复
[Quote=引用 8 楼 maozefa 的回复:]
如果只是画图显示,建议用TPaintBox。如果画图后还需要保存,建议用TImage。
使用TImage画图比TPaintBox慢很多的,因为你每次都是先更新TImage.Picture.Bitmap,然后再更新到界面上,特别是一些实时显示的东西,千万不要用TImage。
至于TSape则是对Windows GDI画矩形和椭圆方法的封装,不必考虑。
[/Quote]
作图程序当然要保存作图结果的,但我要保存的是图形的数据,像AutoCAD的DXF文件那样,而不是图形本身。不同于Photoshop。这对选用TImage,TPaintbox,TSape都不会有什么差别吧?
zzwu
2011-08-29
打赏
举报
回复
[Quote=引用 10 楼 poolord 的回复:]
TShape直接出局。
TPaintBox和TImage的区别在于后者有缓存,会自动重绘,而前者没有,需要手工响应OnPaint事件来重绘。
在实际使用的时候,如果显示的图形多为静态很少改变,则用TImage比较方便,反之,用TPaintBox合适。
[/Quote]
TShape为什么直接出局?我就想利用它,似乎不要canvas也能画各种shape,这不是很方便吗?
另外,大智慧是用TPaintBox的,好像也很方便。
zzwu
2011-08-29
打赏
举报
回复
[Quote=引用 9 楼 mwy654321 的回复:]
有了TImage就有了一切。Timage可以实现后两者的功能。
[/Quote]
这没有错,但反过来,是否有的功能只能在TImage上实现?
池龙
2011-08-29
打赏
举报
回复
TShape直接出局。
TPaintBox和TImage的区别在于后者有缓存,会自动重绘,而前者没有,需要手工响应OnPaint事件来重绘。
在实际使用的时候,如果显示的图形多为静态很少改变,则用TImage比较方便,反之,用TPaintBox合适。
zzwu
2011-08-24
打赏
举报
回复
[Quote=引用 4 楼 dropme 的回复:]
这是神马?考试还是求助?
楼猪的勋章晃花了我的氪金狗眼~~蹭蹭分~~~
[/Quote]
我想编写一个3D图形软件,需要类似于AUTOCAD那样显示三个2D投影视图和一个3D透视图,
但不知道选择在什么地方上画为好,所以提出此问题。
我以前也编图形软件,都是在image上画的,那是因为我当时只知道在image上或直接在form上加
canvas可以画图,现在看到了别的地方也可以画,特别是shape上,所以想比一比哪一个更合适和方便?
zzwu
2011-08-24
打赏
举报
回复
[Quote=引用 3 楼 tjianliang 的回复:]
一、TImage、TPaintbox、TShape都继承自TGraphicControl,一脉三枝
TImage,可通过Picture属性加载显示图片
TPaintbox,提供一个画布(Canvas)
TShape,直接显示一个图形,如矩形、圆形
二、AutoCAD显示图形的功能,本质上也是Canvas
[/Quote]
这是部分的解答,希望看到更多的回复!
dropme
2011-08-23
打赏
举报
回复
这是神马?考试还是求助?
楼猪的勋章晃花了我的氪金狗眼~~蹭蹭分~~~
亮剑_
2011-08-23
打赏
举报
回复
一、TImage、TPaintbox、TShape都继承自TGraphicControl,一脉三枝
TImage,可通过Picture属性加载显示图片
TPaintbox,提供一个画布(Canvas)
TShape,直接显示一个图形,如矩形、圆形
二、AutoCAD显示图形的功能,本质上也是Canvas
zzwu
2011-08-23
打赏
举报
回复
up一次
zzwu
2011-08-21
打赏
举报
回复
补充:你知道Autocad绘图软件是在什么类型的组件上绘图的吗?
T
Image
_delphi源码_
This source code is to demonstrate how Delphi to empty T
Image
component in the picture
T
Image
组件中显示png图片
c++ GDI,C++Builder GDI,GDI,Png,Png to
Image
,T
Image
组件显示png图片
调用Dll中的T
Image
Dll封装T
Image
,在外部直接调用显示
Graphics32控件V1.9.1最新版(支持D5-DelphiXE2)
Graphics32图像控件最新版(V1.9.1加修正)是专门用于Windows Bitmap快速绘图构件及函式库,能够轻易制作半透明、多图层、缩放、Alpha混合、角度旋转等多种图像效果。 带有六个控件:T
Paint
Box
32, T
Image
32, TBitmap32List, TRangeBar, TGaugeBar, TImgView32 含源码和示例程序。安装时建议先Build你所需Delphi版本的BPL,然后再install,并注意将添加源码路径到Lib路径设置中。
T
Image
.rar_C Builder_T
image
_c++ builder t
image
use c++bulider T
Image
Delphi
5,930
社区成员
262,936
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章