package ru.kkey.ui.preview;
import ru.kkey.ui.widget.AutoResizeImagePanel;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* Image preview
*
* @author anstarovoyt
*/
public class ImagePreview implements Preview
{
public static final Set<String> extensions = new HashSet<>(Arrays.asList("jpg", "png", "gif", "tif", "jpeg"));
@Override
public Set<String> getExtensions()
{
return extensions;
}
@Override
public void render(JPanel dialogPanel, byte[] file)
{
try
{
InputStream in = new ByteArrayInputStream(file);
BufferedImage imageRaw = ImageIO.read(in);
JPanel scrollPane = new AutoResizeImagePanel(imageRaw);
dialogPanel.add(scrollPane);
} catch (IOException e)
{
throw new RuntimeException(e.getMessage(), e);
}
}
}