RCP - 如何用另一张图片装饰一张图片

3

我在JFace的TableViewer中有一些带图像的列,但不幸的是似乎只允许16px宽的列图像,这太小了,无法显示两幅图像。我尝试使用32px的图像,但它被压缩成了16px x 16px的图像。也许有一些装饰器可以自动叠加两张图片吗?

是否有任何可能实现这个功能呢?


“overlap两张图片”具体是什么意思? - Baz
列图像的大小没有限制。所有图像都会被调整为您在LabelProvider中返回的第一张图像的大小。 - Tom Seidel
我有一张基本的背景图片,并想要覆盖第二张图片。就像 GIMP 中的两个图层一样。这两个图像不应该完全重叠,而是稍微移动。 - AnarchoEnte
2个回答

3

1

您可以使用OwnerDrawLabelProviderTableViewer中绘制任何大小的Image

然后,您需要在方法中自己绘制图像:

protected void paint(Event event, Object element)

并在方法中定义表格单元格大小:

protected void measure(Event event, Object element)

这里有一篇由Vogella撰写的精彩教程(点击此处),其中包含示例代码

结果如下:

enter image description here

如果您想叠加图像,只需将GC的alpha设置为半透明状态,使用{{link1:GC#setAlpha(int)}}即可。


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