holgerbrandl
09/27/2017, 4:14 PMKotlinSample01.ipynb
in the repo. Is there a similar way to display instances of java.awt.image
?ilya.chernikov
09/27/2017, 4:32 PMfun<T: Drawable> T.toSvg(sizeX: Double, sizeY: Double): Pair<String, Any> {
val writer = DrawableWriterFactory.getInstance().get("image/svg+xml")
val buf = ByteArrayOutputStream()
writer.write(this, buf, sizeX, sizeY)
return writer.mimeType to buf
}
ilya.chernikov
09/27/2017, 4:36 PMimage/x-java-image
, so it may well be that you just have to return a pair consisting of that mime type string and the image itself. Or maybe it’s buffer.holgerbrandl
09/27/2017, 7:10 PMimport java.io.File
import javax.imageio.ImageIO
val pathToFile = File("/Users/brandl/Downloads/Clipboard.png");
val image = ImageIO.read(pathToFile);
print(image)
resultOf("image/x-java-image" to image)
holgerbrandl
09/27/2017, 7:10 PMimport java.io.ByteArrayOutputStream
val baos= ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos );
val imageInByte = baos.toByteArray();
resultOf("image/x-java-image" to imageInByte)
holgerbrandl
09/27/2017, 7:12 PMimport javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
val pathToFile = File("/Users/brandl/Downloads/Clipboard.png")
val image = ImageIO.read(pathToFile)
// Draw the image on to the buffered image
val bimage = BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB)
val bGr = bimage.createGraphics()
bGr.drawImage(image, 0, 0, null)
bGr.dispose()
val buf = ByteArrayOutputStream()
val writer = ImageIO.getImageWritersByMIMEType("image/jpeg").next()
val ios = ImageIO.createImageOutputStream(buf)
writer.setOutput(ios)
writer.write(bimage)
ios.close()
resultOf("image/jpeg" to buf)
holgerbrandl
09/27/2017, 7:12 PMilya.chernikov
09/28/2017, 8:03 AMimport java.awt.image.BufferedImage
import java.io.ByteArrayOutputStream
import javax.imageio.ImageIO
import java.util.Base64
val image = BufferedImage(100, 50,
BufferedImage.TYPE_INT_ARGB)
val g2 = image.createGraphics()
for (x in 30..50)
for (y in 20..30)
image.setRGB(x, y, 0xf0f0f0)
val buf = ByteArrayOutputStream()
val writer = ImageIO.getImageWritersByMIMEType("image/jpeg").next()
val ios = ImageIO.createImageOutputStream(buf)
writer.output = ios
writer.write(image)
ios.close()
val b64img = Base64.getEncoder().encodeToString(buf.toByteArray())
resultOf("image/jpeg" to b64img)
holgerbrandl
09/28/2017, 4:28 PMholgerbrandl
09/28/2017, 4:30 PMImageIO.read(File("test.png))
.holgerbrandl
09/29/2017, 1:04 PM