Java编程:颜色色带图片的生成

效果图
由java代码生成的色带图片,可用于生成图例
实现代码

    //获取色带的RGG列表
    ColorMap colorMap = new ColorMap();
    //参数:图片宽度、高度、颜色类型
    BufferedImage bufImg = new BufferedImage(25, 255, BufferedImage.TYPE_INT_RGB);
    //获取该图片的画笔
    Graphics graphics = bufImg.getGraphics();
    //
     for (int i = 0; i < colorMap.colors.size(); i++){
     //将文字的RGB转为数字的R、G、B
         String[] rgb = colorMap.colors.get(i).split("\t");
          if (rgb.length != 3){
              rgb = colorMap.colors.get(i).split(" ");//应对不小型将tag分割符写成空格的情况
           }
           //设置画笔的颜色
           graphics.setColor(new Color(Integer.parseInt(rgb[0]), Integer.parseInt(rgb[1]), Integer.parseInt(rgb[2])));
           //在图片上画线,线宽为1像素,参数(起始的横坐标,起始的纵坐标,终点的横坐标,终点的纵坐标)
           graphics.drawLine(0, i, 25, i);
     }
     //将绘制完的图片输出
     ImageIO.write(bufImg, "PNG", new File("D:\\test.PNG"));

创建色带对象

public class ColorMap {
    public ArrayList<String> colors = new ArrayList<String>();
    public ColorMap(){
        String path = ColorMap.class.getResource("/config").getPath();
        try{
            FileReader read = null;
            read = new FileReader(path + File.separator + "strechedColor.txt");
            BufferedReader br = new BufferedReader(read);
            String row = br.readLine();
            while((row=br.readLine())!=null){
                colors.add(row);
            }
            br.close();
            read.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

示例色带的RGB代码

R	G	B
69 117 181
69 117 181
71 118 181
72 119 181
74 121 181
74 121 181
76 122 181
78 123 181
80 124 181
81 125 181
83 126 181
84 127 184
86 128 184
88 129 184
90 131 184
92 132 184
92 132 184
94 133 184
95 134 184
97 135 184
99 136 184
99 136 184
101 137 184
103 138 184
105 139 184
105 139 184
106 140 184
108 141 184
110 142 184
110 143 184
112 144 184
115 147 186
117 148 186
117 148 186
119 149 186
121 150 186
123 152 186
123 152 186
125 153 186
127 154 186
128 155 186
128 155 186
130 157 186
132 158 186
132 158 186
134 160 186
136 161 186
138 162 186
138 163 186
140 164 186
141 165 186
143 166 186
143 166 186
145 168 186
147 169 186
151 172 189
151 173 189
153 174 189
155 175 189
155 176 189
157 177 189
159 178 189
160 179 189
160 180 189
162 181 189
164 182 189
164 183 189
166 184 189
168 185 189
170 186 189
170 187 189
172 188 189
174 189 188
176 191 190
176 191 189
178 194 190
178 194 189
180 194 188
183 196 190
183 196 188
185 199 190
185 199 188
189 201 191
189 201 190
191 204 190
192 204 190
194 207 190
196 207 190
196 207 190
198 209 190
199 209 190
202 212 190
202 212 190
205 214 191
206 214 191
208 217 191
209 217	191
211 219 191
212 219 191
212 219 189
215 222 191
215 222 189
218 224 191
218 224 191
221 227 191
221 227 191
224 230 190
224 230 190
226 232 190
227 232 190
230 235 192
230 235 190
233 237 192
233 237 190
237 240 192
237 240 192
240 242 191
240 242 191
242 245 191
243 245 191
246 247 193
245 247 190
249 250 192
249 250 190
251 252 192
251 252 192
255 255 191
255 255 191
255 255 191
255 253 189
255 252 189
255 249 186
255 248 186
255 247 184
255 244 181
255 243 181
255 241 179
255 240 179
255 238 176
255 237 176
255 235 173
255 233 171
255 231 171
255 229 168
255 228 168
255 225 166
255 225 166
255 223 163
255 220 161
255 219 161
255 218 158
252 214 157
252 211 154
252 211 154
252 209 151
252 209 151
252 206 149
252 204 149
252 203 146
252 201 146
252 200 144
252 198 144
252 197 141
252 195 141
252 194 139
252 194 139
250 189 135
250 189 135
250 185 132
250 185 132
250 182 130
250 182 130
250 181 127
250 178 127
250 177 125
250 177 125
250 173 122
247 172 121
247 168 119
247 168 119
247 168 119
247 164 116
247 164 116
247 163 114
247 163 114
247 159 111
245 157 110
245 156 108
245 153 108
245 152 105
245 152 105
245 149 105
245 148 103
242 146 102
242 145 99
242 142 99
242 141 97
242 141 97
242 141 97
242 136 94
240 135 93
240 133 91
240 133 91
240 129 89
240 129 89
240 129 89
240 127 86
237 123 85
237 122 83
237 122 83
237 120 81
237 117 81
237 117 81
235 114 77
235 114 77
235 110 75
235 110 75
235 110 75
235 108 73
232 104 72
232 102 70
232 102 70
232 102 70
232 97 67
230 96 67
230 96 67
230 95 64
230 95 64
230 90 62
227 89 61
227 89 61
227 87 59
227 84 59
227 84 59
224 81 56
224 81 56
224 77 54
224 77 54
224 77 54
222 74 51
222 71 51
222 71 51
222 69 49
219 65 48
219 63 46
219 63 46
219 63 46
219 58 44
217 58 43
217 58 43
217 53 41
217 53 41
214 52 41
214 47 39
214 47 39
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用Java生成echarts图片,可以使用Java的开源库echarts-java。该库提供了Java与echarts的集成,可以通过Java代码生成echarts图表,并将其保存为图片。 首先,需要在项目中导入echarts-java的依赖,可以使用Maven或Gradle进行管理。 在代码中,首先创建一个echarts对象,通过设置不同的属性来配置图表的内容和样式。例如,可以设置图表类型、标题、横纵坐标等。 然后,可以创建一个echarts图片生成器对象,将echarts对象作为参数传递给生成器。可以设置生成图片的格式、大小和保存路径等。 最后,调用生成器的generate方法,即可根据echarts对象生成相应的图片并保存。 以下是一个简单的示例代码: ```java import com.github.abel533.echarts.Option; import com.github.abel533.echarts.json.GsonOption; import com.github.abel533.echarts.utils.EchartsUtils; import com.github.abel533.echarts.util.EnhancedOption; import com.github.abel533.echarts.image.ZEChartsConfig; import com.github.abel533.echarts.image.ZEChartsRenderTool; public class EchartsImageGenerator { public static void main(String[] args) { // 创建echarts对象 EnhancedOption option = new EnhancedOption(); option.title().text("示例图表"); option.legend().data("A", "B"); option.xAxis().data("1月", "2月", "3月", "4月", "5月"); option.yAxis().name("销量"); // 添加数据系列 option.series("A", "bar", new Integer[]{10, 20, 30, 40, 50}); option.series("B", "line", new Integer[]{5, 10, 15, 20, 25}); // 创建echarts图片生成器对象 ZEChartsConfig config = new ZEChartsConfig(); config.setRenderTool(ZEChartsConfig.getRenderToolOrInstance()); config.setImagePath("data:image/png;base64"); config.setCharsetName("UTF-8"); ZEChartsRenderTool renderTool = new ZEChartsRenderTool(); renderTool.setConfig(config); // 生成图片并保存 String outputPath = "path/to/output/image.png"; renderTool.renderToPath(EchartsUtils.getInstanceFromOption(option, GsonOption.class), outputPath); } } ``` 通过上述代码,我们可以利用Java调用echarts-java库来生成echarts图片。可以根据实际需求,使用不同的图表类型和数据来定制生成图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Oruizn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值