@wolf-9830

Как в java swing получить картинку из массива?

Я где-то читал что можно имея массив с цифрами перевести его в изображение, как это сделать в java swing?
  • Вопрос задан
  • 3716 просмотров
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
С какими именно цифрами? В какое изображение? И самое главное - при чем тут вообще Swing?

Если под "цифрами" подразумевается массив байт, содержащий, например, закодированное в JPEG изображение, которое хочется поиметь в ImageIcon (кажущаяся мне наиболее вероятной интерпретация вопроса в контексте Swing), то, например, вот так:
byte[] arBytes;
...
ImageIcon icon = new ImageIcon(arBytes);

или так:
BufferedImage image = ImageIO.read(new ByteArrayInputStream(arBytes));

Если же цифры - действительно цифры, то тут, увы, нет иного способа "получить картинку", иначе как взять, да и отрисовать их на канвасе, например, вот так :
int[] arInts = {0,1,2,3,4,5,6,7,8,9};
...
BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();
g2d.setPaint(Color.red);
g2d.setFont(new Font("Serif", Font.BOLD, 18));
FontMetrics fm = g2d.getFontMetrics();
int x = 5;
for(int i : arInts){
    String s = (new Integer(i)).toString();    
    g2d.drawString(s, x, 5);
    x += fm.stringWidth(s) + 5;
}
g2d.dispose();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы