Versuchen Sie, mit Scala mithilfe der Standardbibliothek von Java Text zu einem Bild hinzuzufügen

Überblick

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.

Referenz

Es gibt einige, aber ich werde die Artikel auflisten, auf die ich mich bezog.

Beispielcode

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()
}

Ausführungsergebnis

** 【Das Originalbild】 ** 200x50.png ** [Bild nach dem Hinzufügen von Zeichen] ** new_320x50.jpeg

Recommended Posts

Versuchen Sie, mit Scala mithilfe der Standardbibliothek von Java Text zu einem Bild hinzuzufügen
Versuchen Sie, das Eratostenes-Sieb mithilfe der Java-Standardbibliothek zu implementieren
Versuchen Sie es mit globalem Hooking in Java mithilfe der JNativeHook-Bibliothek
Versuchen Sie es mit der Stream-API in Java
[Java] Verwenden Sie kryptografische Technologie mit Standardbibliotheken
Versuchen Sie es mit der Syntaxanalyse der COTOHA-API in Java
[Schienen] So zeigen Sie Bilder in der Ansicht an
Versuchen Sie es mit RocksDB mit Java
[Java] Versuchen Sie, die Elemente der Json-Zeichenfolge mithilfe der Bibliothek zu bearbeiten
Versuchen Sie einen If-Ausdruck in Java
Willkommen im Sumpf der Java-Bibliotheken! !!
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
Versuchen Sie, Yuma in Java zu implementieren
[Java] Versuchen Sie, das Fizz Buzz-Problem mithilfe der rekursiven Verarbeitung zu lösen
[Java] Das Hinzufügen eines Elements zur Sammlung führt zu einem Kompilierungsfehler
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
So ermitteln Sie die Länge einer Audiodatei mit Java
Versuchen Sie, Project Euler in Java zu lösen
Java-Referenz zum Verständnis in der Abbildung
Versuchen Sie, n-ary Addition in Java zu implementieren
Map ohne Verwendung eines Arrays in Java
Versuchen Sie es mit der JSON-Format-API in Java
Versuchen Sie, den CORBA-Dienst unter Java 11+ aufzurufen
So stellen Sie das Bild mithilfe der Symbolschriftart (Symbole) links / rechts von der Schaltfläche auf zeichnbar ein
So erhalten Sie das Datum mit Java
[Java] Färben Sie die Standardausgabe an das Terminal
Versuchen Sie es mit der Wii-Fernbedienung in Java
Rails6: Extrahieren Sie das Bild im Aktionstext
Rückgabe mehrerer Werte in einer Java-Methode (Generics, Record, Triple, Tuple unter Verwendung von Standardbibliotheken und externen Bibliotheken)
NLP4J Versuchen Sie eine Textanalyse unter Verwendung einer Verarbeitung in natürlicher Sprache und einer statistischen Verarbeitung der Syntaxanalyse in Java
NLP4J Versuchen Sie eine Textanalyse unter Verwendung einer Verarbeitung in natürlicher Sprache und einer statistischen Verarbeitung von Teilen in Java
ChatWork4j für die Verwendung der ChatWork-API in Java
Ich möchte eine E-Mail in Java senden.
3 Möglichkeiten zum Importieren von Bibliotheken in Android Studio
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Zweite Abkochung: Versuchen Sie einen If-Ausdruck in Java
Versuchen Sie es mit Sourcetrail (Win-Version) mit Java-Code
Versuchen Sie, die Cloud Vision-API von GCP in Java zu verwenden
Versuchen Sie es mit Sourcetrail (MacOS-Version) mit Java-Code
Versuchen Sie eine ähnliche Suche in der Bildsuche mit dem Java SDK [Suche]
Versuchen Sie, mit JZOS von Java aus auf das Dataset zuzugreifen
Bibliothek "OSHI" zum Erfassen von Systeminformationen mit Java
Zeigen Sie "Hello World" im Browser mit Java an
Zeigen Sie "Hello World" im Browser mit Java an
So lösen Sie Ausdrucksprobleme in Java
Schieben Sie das Image mit Jib zum Docker-Hub
[Java] Versuchen Sie, das Fizz Buzz-Problem zu lösen
Code, der verwendet wird, wenn Sie Json nur mit Standardbibliotheken in Java (verbesserte Version) verarbeiten möchten. Gson ist nicht erforderlich
[Android-Entwicklung] Holen Sie sich mit Java Bilder vom Server und legen Sie sie in ImageView fest! !!
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
Code, der verwendet werden soll, wenn Sie Json nur mit Standardbibliotheken in Java verarbeiten möchten
So machen Sie ein Bild mit Processing teilweise transparent
Geben Sie den Maximalwert eines Arrays mithilfe der Java-Standardausgabe aus
[Java] So lassen Sie den privaten Konstruktor in Lombok weg
Wie schreibe ich Scala aus der Perspektive von Java
Ich habe versucht, mit dem Alexa Skills Kit (ASK) eine Echo-Fähigkeit von Amazon zu erstellen, die kratzte Informationen in Java anzeigt.
Probieren Sie die ähnliche Suche von Image Search mit Java SDK [Registrierung] aus.
Verwendung der Z3-Bibliothek in Scala mit Eclipse