TImage、TImageViewer和TImageControl有什么区别?

6

在 Delphi 帮助中查找了一下,但没有找到应该在何时使用每个组件...

我想知道这些非常相似的控件之间的区别: TImageTImageViewerTImageControl

我想在表单上显示多个图像,在滚动框中滚动;但是这三个组件都可以使用,我不知道该选择哪一个!


根据您的需求,您很可能不需要使用这些控件中的任何一个。如果有很多图像,那么您肯定不想为每个图像创建一个控件。 - David Heffernan
我在考虑在运行时生成多个TImage并将其放入滚动框中,但可能已经有一个组件可以自动完成类似的操作。 - Programmz
预计在扩展到大量图像时,该方法的性能会较差。 - David Heffernan
2
我将对大约100-200张图像进行一些测试并向您报告,这确实是我关注的问题。仍然有兴趣了解这些图像组件之间的差异。 - Programmz
有趣的是,TImageViewerTImageControl不在VCL中。只有FireMonkey中有。 - Aqil
显示剩余6条评论
2个回答

2
你好,我刚刚发现了这个答案(来自Alexander Brazda),因为我也想知道:

"..如果您需要显示一个简单的图像(没有边框、滚动条等),请使用TImage,就像使用任何其他形状(TRectangle、TCircle、TEllipse、TPipe等)一样。

对于带有控件样式(边框、背景等)的图像,请使用TImageControl,对于缩放、滚动、对话框等,请使用TImageViewer。

TImage是简单的(只需在其所放置的控件上绘制图像),TSyledControls使用一组对象来绘制并将控件属性的值复制到样式对象中。

当然,您可以使用TRectangle并使用TBitmap Brush填充它。带有WrapMode=Original和BitmapMargins为空的图像会调用Canvas.DrawBitmap(),进行任何变换(除非定义了屏幕比例)..."

您可以查看该帖子:Google+ Delphi开发者论坛


FYI:该链接不再可用。 - Tom Brunberg

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接