Java在图片处理领域的功能是非常强大的,不过现在用的最多的好像是Web方面,什么Sping,Struts之类的,我个人也在用这些,也不排斥这些,只是在这个工程中经常和图片打交道,如果就写了好多的图片处理算法(工具),这里和大家分享下。
Java将图片变亮的原理也很简单,拿到图片的RGB值,然后在这个基础上 +X(0<=x<=255),如果处理后像素的值为255,那么这个像素点就是白色的,同样如果像素点的值为0这个点就是黑色的,明白这个道理看下面的代码就很简单了。
public final BufferedImage getPicture(BufferedImage originalPic) {
int imageWidth = originalPic.getWidth();
int imageHeight = originalPic.getHeight();
BufferedImage newPic = new BufferedImage(imageWidth, imageHeight,
BufferedImage.TYPE_3BYTE_BGR);
short[] brighten = new short[256];
short pixelValue;
for (int i = 0; i < 256; i++) {
pixelValue = (short) (i + brighter);
if (pixelValue > 255) {
pixelValue = 255;
}
brighten[i] = pixelValue;
}
LookupTable lut = new ShortLookupTable(0, brighten);
LookupOp lop = new LookupOp(lut, null);
lop.filter(originalPic, newPic);
return newPic;
}
代码讲解:
首先我们先拿个一个图片的内存对象originalPic(图片怎样加载到内存,请参考我的文章《Java加载图片 利用Image与BufferedImage》地址:
http://javapub.iteye.com/blog/683944和文章《Swing显示图片》地址:
http://javapub.iteye.com/blog/682257。
利用originalPic建立一个新的内存对象存储新的图片;然后将原始图片的每个像素点就加上一个增量,如果加增量后值大于255就按255。然后LookupTable 这个类根据原始图片生成新的图片并返回。 返回后的显示大家看上面的参考链接或者看附带的例子。
原始图片:
变量后的图片:
ZPhotoer的main函数在PhotoFrame类里,运行后输入值图片会变亮(变暗),并可以保存改变后的图片。
文章地址:
http://javapub.iteye.com/blog/684532
相关文章
Java图像图片 边缘检测 http://javapub.iteye.com/blog/685468
Java图像变灰 http://javapub.iteye.com/blog/687082
Java 给图片增加 水印图片 水印文字 [url]Java 给图片增加 水印图片 水印文字[/url]
Java图像渐变 http://javapub.iteye.com/blog/736799
Java将大图片转成小图片 http://javapub.iteye.com/blog/666607
分享到:
相关推荐
在这个场景中,"单张图片实现点击变暗或者变亮"是一个典型的交互式图像调整需求,常见于网页或应用程序的设计中。这个功能使得用户可以通过点击图片来改变其亮度,从而增强用户体验。 实现这个功能通常涉及到以下几...
在Java编程语言中,实现点击图片变亮或变暗的效果主要涉及到图像处理和事件监听。这一功能在图形用户界面(GUI)应用中很常见,比如照片编辑软件或自定义控件。下面我们将深入探讨如何利用Java来实现这个功能。 ...
当按下时,图片的Alpha值减半,使得图片变暗;当抬起或取消时,恢复原来的Alpha值,图片恢复正常亮度。 在实际项目中,你可能还需要考虑一些额外的细节,比如是否需要添加动画效果,让图片的变暗过程更加平滑自然。...
当我们想要改变ImageView中图片的亮度,使其变暗,可以通过多种方式实现。本篇文章将详细介绍如何利用滤镜效果来达到这一目的,帮助开发者掌握调整图片亮度的技术。 1. **颜色过滤器(ColorFilter)** Android ...
如果你想在运行时动态调整变暗程度,可以通过Java代码访问这个自定义的ImageView实例并调用`setDarkness`方法,如下所示: ```java DarkeningImageView imageView = findViewById(R.id.image_view); imageView....
在Android开发中,实现点击图片变暗和变亮的效果是一种常见的交互设计,它可以提升用户体验,让用户感受到更加生动和直观的视觉反馈。以下是如何利用Android原生代码实现这一功能的详细步骤。 首先,我们需要一个...
2. **图像增亮和变暗**:通过调整图像的像素值,可以实现图像的增亮或变暗。这通常涉及对图像的直方图进行操作,例如通过全局或局部的伽马校正。 3. **直方图**:直方图是图像像素强度分布的可视化表示,可以帮助...
在这个场景下,"gridview图片点击变暗效果"是一个常见的交互设计,用于突出显示用户点击的图片,而不需要更换背景图片。这种效果可以提升用户体验,让用户明确感知到所选项目。 实现这个功能的关键在于为每个...
这种特效通常通过将图像的亮部和暗部进行对比,使图像呈现出类似浮雕的立体感。在Java中,可以通过计算每个像素的颜色差值,并根据这些差值调整像素的亮度和饱和度来实现浮雕效果。 该项目还包含一个HTML说明文档,...
"Android-利用动画实现背景逐渐变暗"这一主题,就是关于如何通过动画技术在弹出窗口(如PopupWindow)时,优雅地将背景逐渐变暗,从而突出显示前景窗口的一种实践。这种效果常见于各种应用中,如菜单弹出、对话框...
例如,增加每个通道的值可以使图像变亮,而减小则会使图像变暗。 以下是一个简单的例子,展示了如何使用Java 2D API增加图像的明暗度: ```java import java.awt.image.BufferedImage; import java.io.File; ...
它涉及到像素级别的调整,使得整个图像变得更亮或更暗。在编程中实现这一功能通常需要理解色彩模型和图像处理的基本算法。这里我们将深入探讨如何通过源码来改变图片的亮度。 首先,我们需要了解颜色模型。在计算机...
如演示截图所示,鼠标单击“Darken”按钮后,图像变暗,单击“Brighten”按钮后,图像加亮变。在编写过程中,用到java.awt.image 包中的LookupTabel 类及其子类ShortLookupTable 类和LookupOp 类。 运行环境:Java/...
本系统是基于erlang开发的后台,java swing开发的前端的qq聊天系统,希望能给初学erlang的人带来一点小小的帮助,具体...4.一个用户下线,立即通知其他在线用户他已下线,更新图片变暗 5.支持离线聊天 6.用户注册功能
当用户按下(ACTION_DOWN)图片时,图片会变暗(通过改变透明度实现)。当用户松开(ACTION_UP)图片时,图片恢复原样。ACTION_MOVE表示手指在屏幕上移动,ACTION_CANCEL表示触摸事件被取消,这两种情况下的处理通常...
`changeImgtoGray()` 方法则是核心部分,实现了将图片转换为灰度图像,从而达到使图片变暗的效果。 在`changeImgtoGray()` 方法中,首先读取输入的图片文件,然后遍历图像的每一个像素。对于每个像素,我们获取它的...
本项目名为“图片颜色调节器”,提供了Java语言的源码实现,允许开发者对图像的颜色进行细致的调整,以达到预期的视觉效果。下面将详细解释这个项目的相关知识点。 首先,我们要理解Java在图像处理中的基础概念。...