Java 표준 라이브러리를 사용하여 Scala에서 이미지에 문자를 추가해보십시오.
개요
Scala에서 이미지에 문자를 추가하려고 할 때 가장 쉽게 구현할 수있는 방법이 Java의 표준 라이브러리를 사용하는 방법일까 생각합니다. 그래서 기본적으로 구현 내용은 Java와 거의 변하지 않습니다만, 참고로 한 사이트와 함께 샘플 코드를 소개합니다.
참고
조금 많지만 참고로 한 기사를 열거합니다.
Scala Documentation - Image processing : Scala의 이미지 읽기/출력 문서.
Java로 JPEG 파일을 읽고 그림과 문자를 쓰고 출력합니다. : 이미지에 문자를 추가하는 구현이 소개되었습니다.
【Java】 화상 편집 ~ 화상을 세로·가로에 결합한다 ~ : 이미지에 이미지를 결합하는 구현이 소개되었습니다.
【Java】창에 문자열을 그리기 : 폰트의 설정에 관한 구현이 소개되고 있습니다.
배경 채우기 : 배경을 채우는 구현이 소개되었습니다.
【Java】 안티 앨리어싱의 이용 : 문자의 앤티앨리어싱의 구현이 소개되고 있습니다.
Java에서 JPEG 이미지의 저장 품질 변경 : 이미지의 보존 품질을 설정하는 구현이 소개됩니다.
샘플 코드
원본 이미지 옆에 문자를 추가하여 출력하는 샘플 코드입니다. Scala라고 말하면서 거의 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 {
// 元画像の読み込み
val originalImage = ImageIO.read(new File(s"resources/200x50.png"))
// 新規画像に元画像を組み込み
val newImage = new BufferedImage(320, 50, originalImage.getType)
val graphics = newImage.createGraphics()
graphics.drawImage(originalImage, 0, 0, null)
// 文字を書くところの背景色
graphics.setColor(Color.WHITE)
graphics.fillRect(200, 0, 320, 50)
// フォントの設定
graphics.setFont(new Font("Arial", Font.PLAIN, 12))
// 文字色
graphics.setColor(Color.BLACK)
// アンチエイリアス
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON)
// 文字の追加
graphics.drawString("テストテスト", 210,20)
graphics.drawString("テストテスト", 210,40)
// 画像出力
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)
// 画像品質の設定
param.setCompressionQuality(1.0f)
writer.setOutput(ios)
writer.write(null, new IIOImage(newImage, null, null), param)
writer.dispose()
}
실행 결과
【원화상】
【문자를 추가한 후의 이미지】
Reference
이 문제에 관하여(Java 표준 라이브러리를 사용하여 Scala에서 이미지에 문자를 추가해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/someone7140/items/0b3838a519762c1a7bcc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)