db #4
This commit is contained in:
parent
40ad1cb599
commit
e1baaa02f8
@ -1,62 +0,0 @@
|
|||||||
package database;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author James Thompson
|
|
||||||
* @source https://gist.github.com/jamesthompson/3344090
|
|
||||||
* @date 08/12/2012
|
|
||||||
**/
|
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import javafx.scene.image.Image;
|
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
import java.awt.image.*;
|
|
||||||
import java.io.ByteArrayOutputStream;
|
|
||||||
|
|
||||||
public class ByteaToCardImage {
|
|
||||||
|
|
||||||
public static Image getJavaFXImage(byte[] rawPixels) {
|
|
||||||
//public Image getJavaFXImage(byte[] rawPixels, int width, int height) {
|
|
||||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
|
||||||
try {
|
|
||||||
ImageIO.write((RenderedImage) createBufferedImage(rawPixels, 467, 652), "png", out);
|
|
||||||
//ImageIO.write((RenderedImage) createBufferedImage(rawPixels, width, height), "png", out);
|
|
||||||
out.flush();
|
|
||||||
} catch (IOException ex) {
|
|
||||||
}
|
|
||||||
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
|
|
||||||
return new javafx.scene.image.Image(in);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static BufferedImage createBufferedImage(byte[] pixels, int width, int height) {
|
|
||||||
SampleModel sm = getIndexSampleModel(width, height);
|
|
||||||
DataBuffer db = new DataBufferByte(pixels, width*height, 0);
|
|
||||||
WritableRaster raster = Raster.createWritableRaster(sm, db, null);
|
|
||||||
IndexColorModel cm = getDefaultColorModel();
|
|
||||||
BufferedImage image = new BufferedImage(cm, raster, false, null);
|
|
||||||
return image;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static SampleModel getIndexSampleModel(int width, int height) {
|
|
||||||
IndexColorModel icm = getDefaultColorModel();
|
|
||||||
WritableRaster wr = icm.createCompatibleWritableRaster(1, 1);
|
|
||||||
SampleModel sampleModel = wr.getSampleModel();
|
|
||||||
sampleModel = sampleModel.createCompatibleSampleModel(width, height);
|
|
||||||
return sampleModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static IndexColorModel getDefaultColorModel() {
|
|
||||||
byte[] r = new byte[256];
|
|
||||||
byte[] g = new byte[256];
|
|
||||||
byte[] b = new byte[256];
|
|
||||||
for(int i=0; i<256; i++) {
|
|
||||||
r[i]=(byte)i;
|
|
||||||
g[i]=(byte)i;
|
|
||||||
b[i]=(byte)i;
|
|
||||||
}
|
|
||||||
IndexColorModel defaultColorModel = new IndexColorModel(8, 256, r, g, b);
|
|
||||||
return defaultColorModel;
|
|
||||||
}
|
|
||||||
}
|
|
@ -2,13 +2,11 @@ package database;
|
|||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
import javafx.scene.image.Image;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
@ -23,20 +21,22 @@ public class DatabaseTesting {
|
|||||||
a.remplirTableAllFrom("CartesAll");
|
a.remplirTableAllFrom("CartesAll");
|
||||||
System.out.println(a.toString());
|
System.out.println(a.toString());
|
||||||
|
|
||||||
Image image = ByteaToCardImage.getJavaFXImage(a.getList().get(1).getImg());
|
//a.getList().get(1).getImg()
|
||||||
System.out.println(image);
|
|
||||||
|
|
||||||
//a.getList().get(1).getImg();
|
|
||||||
|
|
||||||
|
BufferedImage image = ImageIO.read( new ByteArrayInputStream( a.getList().get(1).getImg() ) );
|
||||||
|
ImageIO.write(image, "JPG", new File("filename.jpg"));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PreparedStatement ps = conn.prepareStatement("SELECT img FROM images WHERE imgname = ?");
|
||||||
|
ps.setString(1, "myimage.gif");
|
||||||
|
ResultSet rs = ps.executeQuery();
|
||||||
|
while (rs.next()) {
|
||||||
|
byte[] imgBytes = rs.getBytes(1); OR byte []out = (byte[])(rs.getObject(1));
|
||||||
|
// use the data in some way here
|
||||||
}
|
}
|
||||||
|
rs.close();
|
||||||
public BufferedImage createImageFromBytes(byte[] imageData) {
|
ps.close();*/
|
||||||
ByteArrayInputStream bais = new ByteArrayInputStream(imageData);
|
|
||||||
try {
|
|
||||||
return ImageIO.read(bais);
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user