写一个向图片内嵌入另一张图片程序,新的需要嵌入的图片需要旋转,并放在该放的位置上。
步骤:
准备工作:将旧的图片,需要嵌入图片的地方,透明化处理,建议使用png(gif有锯齿)。
1.加载俩张图片。
2.创建一个新的画布(即图片)与原来的图片一边大。
3.将需要嵌入的图片,旋转,并写入到画布应该放的位置上。
4.将旧图片需要盖在新的图片上,只露出透明的部分,这样做的好处两张图片可以很好的贴合。
5.调整图片位置。
代码:
public class Test2 {
public static void main(String[] args) {
// 加载原图
BufferedImage back_img = null;
File fpic = new File("/home/xxx/Desktop/yin.png");
try {
back_img = (BufferedImage) ImageIO.read(fpic);
} catch (IOException e) {
e.printStackTrace();
}
int width = back_img.getWidth();
int height = back_img.getHeight();
Graphics2D backg2d = (Graphics2D) back_img.getGraphics();
// 加载新图
BufferedImage old_img = null;
File fpic2 = new File("/home/xxx/Desktop/zeng.jpg");
try {
old_img = (BufferedImage) ImageIO.read(fpic2);
} catch (IOException e) {
e.printStackTrace();
}
// 背景透明
BufferedImage new_img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d2 = new_img.createGraphics();
new_img = g2d2.getDeviceConfiguration().createCompatibleImage(height, width, Transparency.TRANSLUCENT);
g2d2.dispose();
g2d2 = new_img.createGraphics();
// // 确定旋转圆心
AffineTransform origXform = g2d2.getTransform();
AffineTransform newXform = (AffineTransform) (origXform.clone());
newXform.rotate(Math.toRadians(8.0), width, height);
g2d2.setTransform(newXform);
g2d2.drawImage(old_img, 70, 65, 130, 100, null);
g2d2.setTransform(origXform);
g2d2.drawImage(back_img, 0, 0, null);
g2d2.dispose();
try {
ImageIO.write(new_img, "png", new File("/home/xxx/Desktop/test2.png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
LSB图片水印嵌入是一种数字图像处理技术,主要用于在图像中秘密地嵌入信息,如文字、数据或其它图像,而不会明显改变原始图像的视觉效果。这种技术基于最低有效位(Least Significant Bit, LSB)的概念,是隐写术...
标题中的“多图片广告展示java小程序”表明这是一个使用Java编程语言开发的小应用程序,其主要功能是展示和管理多个图片,可能用于广告轮播或者产品展示等场景。在Java小程序(Applet)中,这种功能通常涉及到图形...
在Java编程环境中,实现将图片插入到Excel文件中是一项常见的任务,特别是在数据分析、报表生成或者自动化办公场景下。本文将详细讲解如何使用Java来完成这一功能,主要涉及到Apache POI库的应用。 Apache POI是一...
【Java小应用程序连续显示图片详解】 在Java编程中,实现一个能够连续显示多张图片的小应用程序,主要涉及以下几个核心知识点: 1. **Swing库**:Java Swing是Java Foundation Classes (JFC)的一部分,用于构建...
在Java编程环境中,开发小程序Applet来显示图片是一项常见的任务,尤其在早期的网页交互设计中。Applet是Java的一种特殊类型,它可以在支持Java的Web浏览器中运行,为用户提供动态和交互式的体验。本教程将详细介绍...
在Java编程领域,图片处理是一项常见的任务,包括添加水印和对图片进行加解密。以下将详细探讨这些知识点。 1. **图片加水印**: - **基本概念**:水印是一种在图片上添加不可见或可见的标记,用于证明所有权、...
在Java和JSP开发中,有时我们需要处理在线编辑器上传的内容,这可能涉及到从Web页面中获取远程图片并将其保存到本地服务器。这样的功能对于确保网站的性能和用户体验至关重要,因为将图片本地化可以减少加载时间,...
Java Applet小程序是一种嵌入在HTML页面中的小型Java程序,常用于增强网页的交互性,如显示动态图像、实现简单的游戏或在线工具等。在这个"Java Applet小程序图片显示实例"中,我们将深入探讨如何在Applet中加载和...
【Java Applet与图片浏览小程序】 Java Applet是一种基于Java技术的小程序,它可以在Web浏览器中运行,为用户提供互动的、丰富的网络体验。在早期的网页开发中,Applet被广泛用于创建动态图形、游戏以及像图片浏览...
在这个案例中,Applet被用作一个嵌入在网页中的图片查看器,用户可以直接在浏览器内浏览图片。 3. **Applet生命周期**: Applet有四个主要的生命周期方法:`init()`, `start()`, `paint()`, 和 `destroy()`。`init...
标签"网页上图片"暗示了这个Java程序可能涉及到如何在网页上动态地展示或操作图片。这可能包括图像的加载、缩放、旋转、平移等操作,也可能涉及图像处理算法,如滤镜效果。 在开发Java Applet时,开发者需要注意...
### Java源码图片浏览小程序(Java + Applet)知识点解析 #### 一、Java与Applet简介 在深入了解此小程序之前,我们先简要回顾一下Java及其子技术Applet的基本概念。 **Java**是一种广泛使用的面向对象编程语言,...
在Java的Swing库中创建GUI界面时,...对于初学者来说,理解并掌握这些基本概念是至关重要的,它们能帮助你构建出美观且功能完备的Java GUI应用程序。同时,你还可以根据需求自定义布局和组件,使界面更加符合用户需求。
6. **嵌入图片** 在FreeMarker处理完成后,使用Apache POI的API将模板中占位符替换为实际的图片。例如,可以使用`HWPFDocument`(对于旧版的 `.doc` 文件)或 `XWPFDocument`(对于 `.docx` 文件)的相应方法,将二...
这通常适用于需要将文档作为图片嵌入到其他地方,比如网页或邮件中。这个过程可能涉及渲染文档到画布,然后捕获每一帧为图像。转换时需考虑分辨率、色彩保真度和图片质量。 在实际操作中,你需要确保Java环境配置...
关于压缩包内的文件,"图片浏览小程序(java+applet)"可能包括了以下部分: 1. 源代码文件(.java):这些是用Java编写的程序代码,可能包含了主类和处理图片的类。 2. HTML文件:展示如何在网页中嵌入Applet。 3. ...
在这个"java+applet 图片浏览小程序.zip"压缩包中,我们可以预见到一个使用Java Applet技术实现的图片浏览程序。 1. **Java Applet基础知识**: - Java Applet是一种基于Java的小程序,它嵌入到HTML页面中,由Java...
Java Applet图片扫描程序是基于Java技术开发的一种小程序,它能够在Web浏览器中运行,用于扫描和处理图像。这个"图片扫描程序版本3.0"相较于之前的2.0版本,可能包含了一些新特性、性能优化或者错误修复,以提升用户...