2021년 2월 25일 목요일

[Jython] JavaFx Icon Library

 JavaFx Icon Library

import base64
from javafx.embed.swing import SwingFXUtils
from java.io import *
from java.lang import *
from java.awt.image import *
from javax.imageio import *

exit_png  = "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"
clock_png = "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"

def FileToBase64(filename):
    bi      = ImageIO.read(File(filename)) # -> BufferedImage
    baos    = ByteArrayOutputStream()
    ImageIO.write(bi, "png", baos)
    image   = baos.toByteArray()
    image64 = base64.b64encode(image)
    print(image64)
       
def Base64ToFile(image64): 
    image_b = base64.b64decode(image64)
    image_o = ImageIO.read(ByteArrayInputStream(image_b))
    ImageIO.write(image_o, "png", File(filename+".png"))

def Base64ToImage(image64):
    image_b = base64.b64decode(image64)
    return ImageIO.read(ByteArrayInputStream(image_b))

def GetExitImage(): 
    image = Base64ToImage(clock_png)
    return SwingFXUtils.toFXImage(image,None)

댓글 없음:

댓글 쓰기