that_one_nigga_you_k

o juntador de imagens em kotlin

Jun 25th, 2024
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.40 KB | None | 0 0
  1. import java.awt.Color
  2. import java.awt.Graphics2D
  3. import java.awt.image.BufferedImage
  4. import java.io.File
  5. import javax.imageio.ImageIO
  6.  
  7. fun main() {
  8.     // Define os nomes dos arquivos para as imagens de entrada
  9.     val image1Path = "/home/narciso/Imagens/image1.png"
  10.     val image2Path = "/home/narciso/Imagens/image2.png"
  11.  
  12.     // Carrega as imagens
  13.     val image1 = ImageIO.read(File(image1Path))
  14.     val image2 = ImageIO.read(File(image2Path))
  15.  
  16.     // Verifica se as imagens foram carregadas com sucesso
  17.     if (image1 == null || image2 == null) {
  18.         println("Erro: Não foi possível carregar as imagens!")
  19.         return
  20.     }
  21.  
  22.     // Obtém as dimensões das imagens
  23.     val image1Width = image1.width
  24.     val image1Height = image1.height
  25.     val image2Width = image2.width
  26.     val image2Height = image2.height
  27.  
  28.     println("Largura da imagem 1: $image1Width, altura: $image1Height")
  29.     println("Largura da imagem 2: $image2Width, altura: $image2Height")
  30.  
  31.     // Determina a largura máxima para a imagem unida
  32.     val joinedImageWidth = maxOf(image1Width, image2Width)
  33.     val joinedImageHeight = image1Height + image2Height
  34.  
  35.     // Cria um novo BufferedImage para a imagem unida
  36.     val joinedImage = BufferedImage(joinedImageWidth, joinedImageHeight, BufferedImage.TYPE_INT_ARGB)
  37.     val g: Graphics2D = joinedImage.createGraphics()
  38.  
  39.     // Desenha a primeira imagem
  40.     g.drawImage(image1, 0, 0, null)
  41.  
  42.     // Desenha a segunda imagem abaixo da primeira
  43.     g.drawImage(image2, 0, image1Height, null)
  44.  
  45.     // Aplica preenchimento preto se necessário (opcional)
  46.     // Verifica se a imagem1 é mais estreita que a imagem2
  47.     if (image1Width < image2Width) {
  48.         g.color = Color.BLACK
  49.         g.fillRect(image1Width, 0, image2Width - image1Width, image1Height)
  50.     }
  51.  
  52.     // Verifica se a imagem2 é mais estreita que a imagem1
  53.     if (image2Width < image1Width) {
  54.         g.color = Color.BLACK
  55.         g.fillRect(image2Width, image1Height, image1Width - image2Width, image2Height)
  56.     }
  57.  
  58.     // Libera o contexto gráfico
  59.     g.dispose()
  60.  
  61.     // Define o nome do arquivo para a imagem de saída
  62.     val joinedImagePath = "/home/narciso/Imagens/joined_image.png"
  63.  
  64.     // Salva a imagem unida
  65.     val outputfile = File(joinedImagePath)
  66.     ImageIO.write(joinedImage, "png", outputfile)
  67.  
  68.     println("Imagens unidas com sucesso! Imagem de saída: $joinedImagePath")
  69. }
  70.  
Add Comment
Please, Sign In to add comment