今天老师想让我帮忙把她们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(); } } }
相关推荐
VC下加载_JPG_JPEG__GIF_PNG_图片最简单的方法.txt
图片转换工具 jpg .jpeg .gif .png .bmp图片格式 图片格式转换器 格式PNG、JPG、GIF、BMP、tiff互相转换工具
java实现多张png,jpg等各种图片文件转动态gif图,可以设置各种参数,成功源码
WEB常用图像格式文件(gif,jpg,png)处理源代码
._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png._icon.png
Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好用Java处理PNG透明性总结的几种方法,好...
png 图片颜色处理,and sun.misc.base64decoder.jar包
BMP转换jpg.gif.png
常用图像格式处理开发包,用途很广泛。。本人已经在多处运用
将图片加载到内存 循环图片每个像素 找到你需要修改的像素 进行颜色修改。然后再图片BASE64
gif2png是一个GIF转换PNG的Java程序(转换为一张大图或者连续帧)
│ │ ajax-loader.gif │ │ b_c.png │ │ b_l.png │ │ b_r.png │ │ close_btn.png │ │ close_btn_h.png │ │ c_l.png │ │ c_r.png │ │ link_out.png │ │ link_out_h.png │ │ next.png │ │ next_...
在java中通过ImageMagick安装包和im4java.jar把其他格式图片如HEIC转换为PNG,JPEG等常用格式图片。内有安装操作步骤及编码内容。亲测有效。 场景运用:ios操作系统在前端图片格式上传中。已普遍采用HEIC格式图片。...
实现java处理图片透明,png图片透明
另外这里我们也不对GIF进行讨论,是因为PNG就是为取代GIF而生的,而且PNG的压缩算法也要优于GIF,所以只要不是需要动画效果的地方强烈建议都采用PNG格式图片。 这里我们不妨把JPG和PNG的一些特性进行一个简单对比:
gif2apng is a simple program that converts animations from GIF to APNG format. It disproves the common misconception that Animated PNG files are always too big, as it actually creates APNG files ...
20240331_16324967_musiclistCover_7347169206029598783.png.jpg
PngEncoder.java针对java平台处理png压缩算法
分形曲线分形几何学之二-Curves_as_Fractals_1.1[1].zip 分形曲线 分形几何学之一: ... 程序: ...1.gif ...2.gif ...3.gif ...QQ截图未命名.jpg ...nmervisdemo.png ...nmervisdemo_01.png ...nmervisdemo_02.png ...13.jpg
..............\...\Resource.java ..............\...\Thumbs.db ..............\...\welcome.jpg ..............\进销存管理系统.jar ..............\res\ActionIcon ..............\lib ..............\...