Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color
- import java.awt.Graphics2D
- import java.awt.image.BufferedImage
- import java.io.File
- import javax.imageio.ImageIO
- fun main() {
- // Define os nomes dos arquivos para as imagens de entrada
- val image1Path = "/home/narciso/Imagens/image1.png"
- val image2Path = "/home/narciso/Imagens/image2.png"
- // Carrega as imagens
- val image1 = ImageIO.read(File(image1Path))
- val image2 = ImageIO.read(File(image2Path))
- // Verifica se as imagens foram carregadas com sucesso
- if (image1 == null || image2 == null) {
- println("Erro: Não foi possível carregar as imagens!")
- return
- }
- // Obtém as dimensões das imagens
- val image1Width = image1.width
- val image1Height = image1.height
- val image2Width = image2.width
- val image2Height = image2.height
- println("Largura da imagem 1: $image1Width, altura: $image1Height")
- println("Largura da imagem 2: $image2Width, altura: $image2Height")
- // Determina a largura máxima para a imagem unida
- val joinedImageWidth = maxOf(image1Width, image2Width)
- val joinedImageHeight = image1Height + image2Height
- // Cria um novo BufferedImage para a imagem unida
- val joinedImage = BufferedImage(joinedImageWidth, joinedImageHeight, BufferedImage.TYPE_INT_ARGB)
- val g: Graphics2D = joinedImage.createGraphics()
- // Desenha a primeira imagem
- g.drawImage(image1, 0, 0, null)
- // Desenha a segunda imagem abaixo da primeira
- g.drawImage(image2, 0, image1Height, null)
- // Aplica preenchimento preto se necessário (opcional)
- // Verifica se a imagem1 é mais estreita que a imagem2
- if (image1Width < image2Width) {
- g.color = Color.BLACK
- g.fillRect(image1Width, 0, image2Width - image1Width, image1Height)
- }
- // Verifica se a imagem2 é mais estreita que a imagem1
- if (image2Width < image1Width) {
- g.color = Color.BLACK
- g.fillRect(image2Width, image1Height, image1Width - image2Width, image2Height)
- }
- // Libera o contexto gráfico
- g.dispose()
- // Define o nome do arquivo para a imagem de saída
- val joinedImagePath = "/home/narciso/Imagens/joined_image.png"
- // Salva a imagem unida
- val outputfile = File(joinedImagePath)
- ImageIO.write(joinedImage, "png", outputfile)
- println("Imagens unidas com sucesso! Imagem de saída: $joinedImagePath")
- }
Add Comment
Please, Sign In to add comment