如何使用 SWT 应用程序绘制不同颜色的正方形像素

How to draw square pixel with different colors using SWT application

我正在使用 SWT 开发流体模拟应用程序,并希望将最终计算的流体密度绘制回 UI。现在想用SWTcanvas和GC,但是GC好像只能画形状和线条,不能画彩色像素

网站上有很多仿真app,但是none是SWT实现的。以下是此应用程序的预期结果:

使用GC。drawPoint to draw a single pixel, the colour will be that set with GC.setForeground

Jonah 的回答是如果你想自己画所有东西的方法。

我只是发布这个作为替代:

有一个名为 "JHC (Java Heat Map Control)" 的库,您可以使用它来绘制数据。

看起来像这样:

数据以 int[][].

的形式提供
// Define scales
JHCScale<String> xScale = new JHCScale.String(new String[] { "X1", "X2", "X3" });
JHCScale<String> yScale = new JHCScale.String(new String[] { "Y1", "Y2", "Y3" });

// Configure
JHCLayout layout = new JHCLayout(false, 20, true, 20);
JHCConfiguration config = new JHCConfiguration("x-label", "y-label", 
                                               JHCGradient.GRADIENT_HEAT, layout);

// Create array
int[][] array = {{0,1,0}, {1,2,1}, {0,1,0}};

// Create data object
JHCData data = JHCData.create(array, Orientation.ROW, xScale, yScale);

// Create JHC widget
JHC jhc = new JHC(shell, SWT.NONE);
jhc.setData(data, config);