如何使用 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);
我正在使用 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);