1
我試圖在JLabel中使用HTML樣式並將BufferedImage轉換爲jpg。然而,顏色與我所期望的完全不同。使用HTML字符串時JLabel中顏色錯誤
下面是代碼:
val html = "<html><body style='width: 400px; padding: 5px; margin:0; color:#000;'>" + "<h1>teststring1</h1>" + key + " <h2>teststring</h2><body></html>"
val textLabe = new JLabel(html)
textLabe.setSize(textLabe.getPreferredSize)
val d: Dimension = textLabe.getPreferredSize
val bi: BufferedImage = new BufferedImage(d.width, d.height, BufferedImage.TYPE_INT_ARGB)
val g = bi.createGraphics
textLabe.paint(g)
val a = new ByteArrayOutputStream()
ImageIO.write(bi, "jpg", a)
正如你可以看到文本顏色不是黑色,背景是黑色的,而不是白色。我試圖設置setForeground(Colors.white),setBackground(Colors.white)和setOpaque(true),但在這種情況下背景顏色變爲粉紅色。
我怎樣才能解決這個問題?
我其實嘗試了其他選擇,但我不認爲TYPE_INT_RGB可以工作。現在工作正常,謝謝! –