今天老师想让我帮忙把她们200多张寸照换成白底的,这些寸照里面多为蓝色底,红色底。
用ps??不!
用java!!
对,我第一反应就是用java,到网上找到了一个获得图片像素的源码。动手改了下,就编出来了,200多张照片的处理就用了半分钟。
由于实在是忘记了这个源码是哪儿找的了,貌似好几个网站上面都有,所以也就不标明作者是谁了....
/** * 功能: * 将蓝底寸照批量转换为白底 * 主要是可以几百张,几千张地处理 * @author 赵俊夫 * */ public class ImageColorDemo { public static void main(String args[]) throws IOException { /** * 要处理的图片目录 */ File dir = new File("d:/d4"); /** * 列出目录中的图片,得到数组 */ File[] files = dir.listFiles(); /** * 遍历数组 */ for(int x=0;x<files.length;x++){ /** * 定义一个RGB的数组,因为图片的RGB模式是由三个 0-255来表示的 比如白色就是(255,255,255) */ int[] rgb = new int[3]; /** * 用来处理图片的缓冲流 */ BufferedImage bi = null; try { /** * 用ImageIO将图片读入到缓冲中 */ bi = ImageIO.read(files[x]); } catch (Exception e) { e.printStackTrace(); } /** * 得到图片的长宽 */ int width = bi.getWidth(); int height = bi.getHeight(); int minx = bi.getMinX(); int miny = bi.getMinY(); System.out.println("正在处理:"+files[x].getName()); /** * 这里是遍历图片的像素,因为要处理图片的背色,所以要把指定像素上的颜色换成目标颜色 * 这里 是一个二层循环,遍历长和宽上的每个像素 */ for (int i = minx; i < width; i++) { for (int j = miny; j < height; j++) { // System.out.print(bi.getRGB(jw, ih)); /** * 得到指定像素(i,j)上的RGB值, */ int pixel = bi.getRGB(i, j); /** * 分别进行位操作得到 r g b上的值 */ rgb[0] = (pixel & 0xff0000) >> 16; rgb[1] = (pixel & 0xff00) >> 8; rgb[2] = (pixel & 0xff); /** * 进行换色操作,我这里是要把蓝底换成白底,那么就判断图片中rgb值是否在蓝色范围的像素 */ if(rgb[0]<155&&rgb[0]>0 && rgb[1]<256&&rgb[1]>105 && rgb[2]<256&&rgb[2]>105 ){ /** * 这里是判断通过,则把该像素换成白色 */ bi.setRGB(i, j, 0xffffff); } } } System.out.println("\t处理完毕:"+files[x].getName()); System.out.println(); /** * 将缓冲对象保存到新文件中 */ FileOutputStream ops = new FileOutputStream(new File("d:/d5/"+x+".jpg")); ImageIO.write(bi,"jpg", ops); ops.flush(); ops.close(); } } }
相关推荐
2. **读取图片文件**:使用Java的`FileInputStream`读取PNG或JPG文件,然后用gif4j库提供的API将其转化为`GIF89aImage`对象。 3. **创建GIF动画**:初始化一个`GIF89a`对象,这将是最终的GIF动画容器。你可以设置...
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
在Java中实现GIF格式图片转换为JPEG格式图片的过程涉及几个关键的Java类和方法,主要包括BufferedImage类、ImageIO类以及相关的图形处理技术。下面详细阐述这些知识点: 首先,BufferedImage类是Java中用于处理图像...
在Java编程语言中,生成透明图片涉及到图像处理和颜色模型的知识。Java提供了丰富的API来处理图像,例如在`java.awt`和`javax.imageio`包中。本文将深入探讨如何在Java中创建并保存带有透明度的PNG或GIF图片。 首先...
SimpleImage是阿里巴巴开源的一款轻量级的Java图片处理库,主要服务于那些对图片处理有需求但不想引入庞大如Apache Commons Imaging或ImageMagick等复杂库的项目。它提供了一系列简洁易用的API,涵盖了图片的基本...
3. **图像读取与写入**:使用`ImageIO`类的静态方法`read()`和`write()`可以读取和保存不同格式的图像文件,如JPEG、PNG、GIF等。 4. **图像合成基础操作**: - **合并图像**:通过`Graphics2D`对象,我们可以将一...
在使用iText处理图片时,我们需要理解几个关键概念: 1. **Image对象**:iText中的`com.itextpdf.text.Image`类是用于表示PDF文档中图像的核心对象。你可以从文件、URL或字节数组中加载图像,并将其转换为这个对象...
4. **图片资源**:可能包括.png、.jpg、.gif等格式的图片,用于网站的视觉设计。 5. **字体文件**:.ttf或.otf,用于自定义网页字体。 6. **服务器脚本**:如PHP、Node.js或Python脚本,处理服务器端逻辑。 7. **...
在IT行业中,我们经常需要处理各种类型的文件,其中包括图像文件(如.jpg或.png)和Java Archive(.jar)文件。这些文件在不同的场景下扮演着关键角色,特别是在数据操作和软件开发中。以下是对"img和jar包,工具类....
1. 图像资源:包括游戏背景、角色(飞鸟)、木桩、得分界面等的图片文件,这些图片可能以.png或.jpg格式存在,用于构建游戏的视觉效果。 2. 音频资源:可能包含游戏的背景音乐、点击音效、得分音效等,以.mp3或.ogg...
通过该项目,用户不仅可以生成静态二维码,还可以制作动态二维码,并支持自定义样式,如添加背景图片、调整颜色等。 #### 三、环境搭建 要在项目中使用BitQR-Code,首先需要将QRCode.jar库添加到项目的依赖中。...
1. 图片资源:defaultpic.gif、screenshot.gif、15115.jpg、login-bg.jpg、logo.png 这些图片文件是应用程序中的资源,通常用于UI设计,包括默认图片、截图、界面背景和logo。在Android开发中,开发者会将这些资源...
首先,项目的资源文件包括`defaultpic.gif`、`screenshot.gif`、`15115.jpg`、`login-bg.jpg`和`logo.png`,这些通常是用于应用程序的图形资源,如启动画面、背景图像或应用图标。开发者需要了解Android的资源管理...
2. **图像文件转换**:例如从.jpg到.png,或者从.bmp到.gif,图像格式转换可以适应不同的应用场景,如网页设计、社交媒体分享等,同时也能调整文件大小以节省存储空间。 3. **音频文件转换**:如从.mp3到.wav,或者...
1. 使用项目资源中的图像:将PNG、JPG或GIF格式的图像文件放入res/drawable/目录下,然后通过资源ID引用它。例如,my_image.png可以通过R.drawable.my_image引用。在运行时,Android可能会自动优化这些图像以节省...
支持墙纸格式: JPG 、 BMP 、 PNG 和 GIF ;铃声 (MP3 、 AAC 、 AAC+ 和 WMA) 。 接入技术 蓝牙 (class 1) ;四频 (850 , 900 , 1800 , 1900) ;支持 3G , 802.11b 和 802.11g 。----------------------------...
acceptedFiles: ".jpg,.jpeg,.png,.gif,.xls,.txt,.sql,.rar,.mkv", paramName: 'file', init: function() { // 初始化时的事件 } }); ``` 这里的配置项包括: - `url`: 服务器端处理文件上传的 URL。 - `...
图片文件可以是多种格式,如JPEG(.jpg或.jpeg)、PNG(.png)、GIF(.gif)、BMP(.bmp)等。JPEG适用于高质量的静态图像,常用于照片,因为它提供了良好的压缩比;PNG则适用于需要透明背景或无损压缩的图像,比如...
- **描述**:基本的位图图像,支持PNG、JPG和GIF格式。PNG是最推荐使用的格式,因为它支持透明度且压缩效率高。 - **位置**:`res/drawable/xxx.png`(文件名即资源ID) - **引用**: - Java:`R.drawable.xxx` - ...