Author: solomax
Date: Thu Jun 7 14:04:58 2012
New Revision: 1347622
URL: http://svn.apache.org/viewvc?rev=1347622&view=rev
Log:
Scaling of BufferedImage is corrected
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java?rev=1347622&r1=1347621&r2=1347622&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/BaseScreenEncoder.java
Thu Jun 7 14:04:58 2012
@@ -18,16 +18,24 @@
*/
package org.openmeetings.screen.webstart;
-import java.awt.Image;
+import java.awt.Graphics2D;
import java.awt.Rectangle;
+import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
public abstract class BaseScreenEncoder implements IScreenEncoder {
public BufferedImage resize(BufferedImage _img, Rectangle size) {
BufferedImage img = _img;
- if (_img.getWidth() != size.width || _img.getHeight() !=
size.height) {
- img = (BufferedImage)_img.getScaledInstance(size.width,
size.height, Image.SCALE_SMOOTH);
+ if (img.getWidth() != size.width || img.getHeight() !=
size.height) {
+ img = new BufferedImage(size.width, size.height,
BufferedImage.TYPE_INT_RGB);
+
+ Graphics2D graphics2D = img.createGraphics();
+ graphics2D.setRenderingHint(
+ RenderingHints.KEY_INTERPOLATION,
+ RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+ graphics2D.drawImage(_img, 0, 0, size.width,
size.height, null);
+ graphics2D.dispose();
}
return img;
}