2017-01-12 12 views
0

Я преобразовал богатый текст в изображение и сохранен как blob для db. Blob создается отлично с локального сервера (WINDOWS), но при развертывании на сервер приложений (LINUX). Формат изображения (шрифт, резкость) изменился. Я не уверен, что мне делать. прошу пролить немного света. Вот код, который я использовал.HTML текст для изображения и сохранение как blob для базы данных

 BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);  
      Graphics graphics = image.createGraphics(); 
      JEditorPane jep = new JEditorPane("text/html", html); 
      jep.setSize(width, height); 
      jep.print(graphics); 
      ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
      ImageIO.write(image, "png", new File("C:\\Dev\\img8_TYPE_INT_RGB.png")); 
      ImageIO.write(image, "png", bos); 

Какой формат изображения подходит для текстового контента?

Заранее спасибо.

изображение с локального сервера (WINDOWS)

enter image description here

изображение с сервера (сервера приложений) Linux (Linux)

enter image description here

+0

Вы указываете два формата изображения, JPEG для записи в (определенный для Windows) файл и GIF для записи в поток в памяти. Что вы подразумеваете под * «Изменен формат изображения (шрифт, резкость)» *? Это может быть проще понять/визуализировать, если вы опубликуете бок о бок сравнение с выводами Windows и Linux. Скорее всего, шрифт/антиалиасы изменились, потому что вы используете компонент Swing ('JEditorPane'), который имеет разные« внешний вид »для Windows и Linux (Gnome/KDE/безотносительно). Вы можете обойти это с помощью кросс-платформенного внешнего вида. – haraldK

+0

Изображения, которые я скопировал здесь, являются как .png типа один из локального, так и одного с сервера и используются BufferedImage.TYPE_INT_RGB .. Позвольте мне изменить свой код. – Harish

+0

Каким был ваш текст с шрифтом и резкостью, хранящимся ранее, был ли он также показан в 'JEditorPane'? – NESPowerGlove

ответ

0

Я также использовал этот код и все еще есть та же проблема.

BufferedImage image = new BufferedImage(width, height, 
         BufferedImage.TYPE_INT_RGB); 
Graphics2D graphics = image.createGraphics();    
graphics.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); 
graphics.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); 
graphics.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); 
graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_OFF); 
graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); 
graphics.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); 
JEditorPane jep = new JEditorPane("text/html", html); 
jep.setSize(width, height); 
jep.print(graphics);