`

java 将两张相片合成一张,开发实用类

 
阅读更多

 实现将两压缩好的图片 写在一张画布上

思路,先成一个足够大的画布 放入两张相片

 

 

以下代码需要改进

 

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;


public class IMG {
 /**
     *
     * @param filesrc
     * @param logosrc
     * @param outsrc
     * @param x 位置
     * @param y 位置
     */
  public void composePic(String filesrc,String logosrc,String outsrc,int x,int y) {
    try {
        File bgfile = new File(filesrc);
        Image bg_src = javax.imageio.ImageIO.read(bgfile);
        
        File logofile = new File(logosrc);
        Image logo_src = javax.imageio.ImageIO.read(logofile);
        
        int bg_width = bg_src.getWidth(null);
        int bg_height = bg_src.getHeight(null);
        int logo_width = logo_src.getWidth(null);;
        int logo_height = logo_src.getHeight(null);
 
        BufferedImage tag = new BufferedImage(bg_width, bg_height, BufferedImage.TYPE_INT_RGB);
        
        Graphics2D g2d = tag.createGraphics();
        g2d.drawImage(bg_src, 0, 0, bg_width, bg_height, null);
        
        g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,1.0f)); //透明度设置开始 
        g2d.drawImage(logo_src,x,y,logo_width,logo_height, null);           
        g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER)); //透明度设置 结束
        
        FileOutputStream out = new FileOutputStream(outsrc);
        ImageIO.write(tag, "jpg", out);//写图片
       /* JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(tag);*/
        out.close();
    }catch (Exception e) {
        e.printStackTrace();
    }
  }
 
  public static void main(String args[]) {
      Long star = System.currentTimeMillis();
      IMG pic = new IMG();
      pic.composePic("f:\\7.jpg","f:\\6.jpg","f:\\out.jpg",490,360);
      Long end =System.currentTimeMillis();
      System.out.print("time====:"+(end-star));
  }
}

分享到:
评论

相关推荐

    Java开发过程中常用的实用类

    ### Java开发过程中常用的实用类 在Java开发过程中,利用一些内置的实用类可以极大地提高开发效率,简化代码逻辑。本文将详细介绍几个常见的实用类及其应用方法。 #### 一、Math类 `Math` 类提供了丰富的数学运算...

    JS多张图片合成一张图片代码.zip

    这个“JS多张图片合成一张图片代码”项目为开发人员提供了一个实用的工具,帮助他们轻松地将多张图片合并成一张。通过学习和理解这段代码,你可以掌握Canvas的基本用法,以及如何利用它进行图像处理。同时,这个过程...

    java开发实用工具

    Java开发实用工具集合是一系列对Java开发者至关重要的资源,这些工具可以帮助提高开发效率,简化工作流程。在这个压缩包中,包含了各种常用的开发jar包、开发工具以及数据库和服务器管理工具,旨在为Java开发者提供...

    JAVA项目开发实用工具类

    我们将一系列需要用的验证信息整理在一个类,实现我们的封装继承多态面向对象的思想,更有利于我们的项目开发。

    Java 实用系统开发指南[彭晨阳]

    《Java实用系统开发指南》是彭晨阳先生的一部深入探讨Java编程技术及其在系统开发中应用的专业著作。这本书以其丰富的实例和详细的讲解,为读者提供了全面了解和掌握Java编程及系统开发的宝贵资源。 首先,Java作为...

    java实用系统开发指南(无密钥)part1

    《Java实用系统开发指南》利用8个综合实例介绍了多个Java系统的设计和开发,重点描述了J2EE实用系统的架构设计和应用。《Java实用系统开发指南》的特点是从可复用的面向对象设计的高度总结出解决同类问题的通用规律...

    JAVA常用类总结

    JAVA常用类,java封装类,String类和StringBuffer类......

    《Java Web应用开发实用教程》练习答案.docx

    Java Web 应用开发实用教程习题答案 本资源总结了《Java Web 应用开发实用教程》的习题答案,涵盖了 HTML、Java Web 开发、JSP、Tomcat 等方面的知识点。 一、HTML 基础知识 1. HTML 中超链接标记为 `和</a>` 2. ...

    Java+Web开发实践教程ppt课件Java实用源码整理learns

    【Java+Web开发实践教程】是一门深入浅出的课程,旨在帮助学习者掌握Java语言在Web开发中的应用。这门教程通过PPT课件的形式,结合Java实用源码的整理,提供了丰富的学习材料,适合初学者和有一定基础的开发者进行...

    java实用系统开发指南源码

    《Java实用系统开发指南》是一本深入探讨Java系统设计与开发的专业书籍,它以其独特的实践方式,通过8个具体的综合实例向读者展示了J2EE平台上的实用系统构建过程。源码包中的文件名称"Java.实用系统开发指南_源代码...

    Java_Web应用开发技术实用教程

    Java_Web应用开发技术实用教程,适合初学者,易懂

    Java Web开发实践教程源码

    Java Web开发是构建基于互联网应用程序的关键技术,它涵盖了服务器端编程、数据库交互、网页动态内容生成等多个方面。本教程源码提供了丰富的实践素材,帮助学习者深入理解这一领域的核心概念和技能。 首先,我们来...

    Java Web应用开发实用教程 课件 教学PPT 作者 龚永罡

    Java Web应用开发实用教程 课件 教学PPT 作者 龚永罡 详细的习题答案,值得你的学习

    多张图片合成一张+打水印+登录窗口.rar

    本压缩包文件"多张图片合成一张+打水印+登录窗口.rar"提供了一个实用的示例,涵盖了几个关键的知识点,包括图片合成、图像打水印以及创建登录窗口的界面设计。下面将详细解释这些概念及其在实际应用中的重要性。 ...

    Java开发的简单WEB服务器源码Java实用源码整理learns

    标题中的“Java开发的简单WEB服务器源码Java实用源码整理learns”表明这是一个关于Java Web服务器开发的项目,可能是为了教学或者学习目的而编写的。这个项目可能包含了一个简单的HTTP服务器实现,允许用户理解Web...

    《Java_Web应用开发实用教程》练习答案

    《教育部实用型信息技术人才培养系列教材·Java Web应用开发实用教程》分为3篇,共21章:第1篇Java Web开发基础知识分为9章,强调基本概念、技术和方法的阐述,注重联系实际的操作,包括Web应用开发概述、开发与运行...

    Java开发实战1200例 (含源码)

    《Java开发实战1200例(第1卷)》简介:《Java开发...《Java开发实战1200例两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;《Java开发实战1200例(第1卷)》实例来源于...

    《Java Web应用开发技术实用教程》-王红-电子教案

    《Java Web应用开发...通过《Java Web应用开发技术实用教程》的深入学习,读者将能够开发出功能完善的Web应用程序,并具备解决实际问题的能力。无论是初学者还是有一定经验的开发者,都能从中获益,提升自己的技能。

    java开发各种jar包分类

    Java开发中的jar(Java Archive)包是Java编程语言的一个重要组成部分,它允许开发者将相关的类、资源文件和元数据打包成一个单一的可执行文件,便于分发、部署和执行。在Java应用程序或Web应用程序中,jar包经常被...

    JAVA面试关键与综合软件项目开发全程实战

    础知识以及综合软件项目实战开发,而且完全再现了Java技术达人阿蜜果曾经精彩实用的学习经验以及丰富的JavaWeb项目开发实战经验。阿 蜜果还根据自己多年的面试经验及一线开发经验,精心地把网上浩如烟海的Java面试...

Global site tag (gtag.js) - Google Analytics