Commit 708c2953 authored by Nikolay Igotti's avatar Nikolay Igotti

Convertors from BufferedImage

parent ae47b1d7
...@@ -90,7 +90,6 @@ fun createWindow(title: String, exitOnClose: Boolean) = runBlocking(Dispatchers. ...@@ -90,7 +90,6 @@ fun createWindow(title: String, exitOnClose: Boolean) = runBlocking(Dispatchers.
editMenu.add(miEmojiAndSymbols) editMenu.add(miEmojiAndSymbols)
window.setJMenuBar(menuBar) window.setJMenuBar(menuBar)
val state = State() val state = State()
......
...@@ -2,13 +2,16 @@ package org.jetbrains.skiko ...@@ -2,13 +2,16 @@ package org.jetbrains.skiko
import org.jetbrains.skija.Bitmap import org.jetbrains.skija.Bitmap
import org.jetbrains.skija.ColorType import org.jetbrains.skija.ColorType
import org.jetbrains.skija.Image
import java.awt.Transparency import java.awt.Transparency
import java.awt.color.ColorSpace import java.awt.color.ColorSpace
import java.awt.image.BufferedImage import java.awt.image.BufferedImage
import java.awt.image.ComponentColorModel import java.awt.image.ComponentColorModel
import java.awt.image.DataBuffer import java.awt.image.DataBuffer
import java.awt.image.Raster import java.awt.image.Raster
import java.io.ByteArrayOutputStream
import java.nio.ByteBuffer import java.nio.ByteBuffer
import javax.imageio.ImageIO
private class DirectDataBuffer(val backing: ByteBuffer): DataBuffer(TYPE_BYTE, backing.limit()) { private class DirectDataBuffer(val backing: ByteBuffer): DataBuffer(TYPE_BYTE, backing.limit()) {
override fun getElem(bank: Int, index: Int): Int { override fun getElem(bank: Int, index: Int): Int {
...@@ -44,3 +47,14 @@ fun Bitmap.toBufferedImage(): BufferedImage { ...@@ -44,3 +47,14 @@ fun Bitmap.toBufferedImage(): BufferedImage {
) )
return BufferedImage(colorModel, raster!!, false, null) return BufferedImage(colorModel, raster!!, false, null)
} }
fun BufferedImage.toBitmap(): Bitmap {
return Bitmap.makeFromImage(this.toImage())
}
fun BufferedImage.toImage(): Image {
val bos = ByteArrayOutputStream()
ImageIO.write(this, "png", bos)
val data = bos.toByteArray()
return Image.makeFromEncoded(data)
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment