Wenn Sie versuchen, einem Bild mit Scala Text hinzuzufügen, ist es meiner Meinung nach am einfachsten, die Standardbibliothek von Java zu verwenden. Im Grunde ist der Implementierungsinhalt fast der gleiche wie bei Java, aber ich werde den Beispielcode zusammen mit der referenzierten Site einführen.
Es gibt einige, aber ich werde die Artikel auflisten, auf die ich mich bezog.
Dies ist ein Beispielcode, der der Seite des Originalbilds Zeichen hinzufügt und es ausgibt. Während ich Scala sage, denke ich, dass es fast dasselbe ist wie Java.
ImageWritingWordSample.scala
import java.awt.{Color, Font, RenderingHints}
import java.awt.image.BufferedImage
import java.io.{File, FileOutputStream}
import javax.imageio.{IIOImage, ImageIO, ImageWriteParam}
object ImageWritingWordSample extends App {
//Laden des Originalbildes
val originalImage = ImageIO.read(new File(s"resources/200x50.png "))
//Integrieren Sie das Originalbild in das neue Bild
val newImage = new BufferedImage(320, 50, originalImage.getType)
val graphics = newImage.createGraphics()
graphics.drawImage(originalImage, 0, 0, null)
//Hintergrundfarbe, in der Sie Buchstaben schreiben
graphics.setColor(Color.WHITE)
graphics.fillRect(200, 0, 320, 50)
//Schriftarteinstellungen
graphics.setFont(new Font("Arial", Font.PLAIN, 12))
//Buchstabenfarbe
graphics.setColor(Color.BLACK)
//Kantenglättung
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON)
//Zeichen hinzufügen
graphics.drawString("Test Test", 210,20)
graphics.drawString("Test Test", 210,40)
//Bildausgabe
val os = new FileOutputStream("resources/new_320x50.jpeg ")
val ios = ImageIO.createImageOutputStream(os)
val writer = ImageIO.getImageWritersByFormatName("jpeg").next
val param = writer.getDefaultWriteParam
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT)
//Bildqualitätseinstellungen
param.setCompressionQuality(1.0f)
writer.setOutput(ios)
writer.write(null, new IIOImage(newImage, null, null), param)
writer.dispose()
}
** 【Das Originalbild】 ** ** [Bild nach dem Hinzufügen von Zeichen] **
Recommended Posts