java bufferedimage 内存溢出_java - 对BufferedImage应用抗锯齿 - 堆栈内存溢出

我的应用程序从某些外部源收到BufferedImage 。 该图像需要在其他位置生成,我必须将其用作函数的输入。

不幸的是,在某些情况下,我会收到包含锯齿线的图像,因此应应用抗锯齿。

到目前为止,我发现有很多方面具有之前做到这一点BufferedImage对象, 即根据呈现提示设置为Graphics2D对象,然后渲染,但这并不适用于我的情况。

是否有一些简单的方法可以执行此操作而无需诉诸第三方库(由于许可证问题)? 我需要编写自己的抗锯齿后处理功能吗?

我尝试例如:

/**

* @brief apply antialiasing to {@link BufferedImage} object. Take note that this will also increase image dimensions by 2px!

* @param image

* @return

*/

public static BufferedImage applyAntialiasing( BufferedImage image )

{

BufferedImage antialiasedImage = new BufferedImage( image.getWidth() + 2, image.getHeight() + 2, BufferedImage.TYPE_INT_ARGB );

Graphics2D g = ( Graphics2D ) antialiasedImage.createGraphics();

( ( Graphics2D ) g ).setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );

g.drawImage( image, 1, 1, null );

g.dispose();

return antialiasedImage;

}

基于:

但是,生成的图像显然仍被混淆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值