说明:
- 涉及到的类:BufferedImage,Graphics2D,ImageIO
- 不多说,很简单,运行例子,查看注释
package com.cxy.gui; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** 绘制透明背景的文字图片 * @author cxy @ www.cxyapi.com */ public class DrawTranslucentPng { public static BufferedImage drawTranslucentStringPic(int width, int height, Integer fontHeight,String drawStr) { try { BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D gd = buffImg.createGraphics(); //设置透明 start buffImg = gd.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); gd=buffImg.createGraphics(); //设置透明 end gd.setFont(new Font("微软雅黑", Font.PLAIN, fontHeight)); //设置字体 gd.setColor(Color.ORANGE); //设置颜色 gd.drawRect(0, 0, width - 1, height - 1); //画边框 gd.drawString(drawStr, width/2-fontHeight*drawStr.length()/2,fontHeight); //输出文字(中文横向居中) return buffImg; } catch (Exception e) { return null; } } public static void main(String[] args) { BufferedImage imgMap = drawTranslucentStringPic(400, 80, 36,"欢迎访问我的博客"); File imgFile=new File("D://www.cxyapi.com.png"); try { ImageIO.write(imgMap, "PNG", imgFile); } catch (IOException e) { e.printStackTrace(); } System.out.println("生成完成"); } }
写一个测试的html来测试透明
<div style="background-color:black;height:200px;text-align: center;padding: 100px"> <img src="www.cxyapi.com.png"/><br/> <span style="font-size:36px;color:orange">www.cxyapi.com</span> <div>
结果图:
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
相关推荐
java后台生成背景色透明验证码的方法,可直接调用。本方法只生成随机字符数字组成的四位验证码。
在Java编程语言中,生成透明图片涉及到图像处理和颜色模型的知识。Java提供了丰富的API来处理图像,例如在`java.awt`和`javax.imageio`包中。本文将深入探讨如何在Java中创建并保存带有透明度的PNG或GIF图片。 首先...
Java动态生成图片并把当前时间写在图片上是一项常见的需求,比如用于生成验证码、日志记录或者自定义的报告。这个任务涉及到Java图形处理、日期时间处理以及IO操作等多个方面。下面将详细介绍如何实现这个功能。 ...
java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...
本示例探讨了如何将多张图片重叠在一起,包括处理透明度,特别是PNG等支持透明度的图像格式。这是一个关键的图像处理技术,因为可以创建复杂的视觉效果或者进行图像合成。 首先,我们需要引入Java的`javax.imageio`...
本篇文章将深入探讨如何在Java中实现这些功能,特别是针对PNG格式的图片,因为PNG格式支持透明度,但在处理过程中可能会出现背景变黑的问题。 首先,我们需要引入Java的`java.awt`和`javax.imageio`包,它们提供了...
源码提供了一个生成图片验证码的工具类,适用于各种需要验证码的场景,如用户注册、...生成的验证码图片背景透明,线条清晰,可轻松辨认。本源码包含了工具类源码及调用示例,可供开发者参考使用,集成到您的项目中。
Java 后台生成的表格通常用于数据展示,但有时我们需要将这些动态生成的表格转换为图片格式,以便于分享、打印或保存。这就涉及到一个工具——HtmlImageGenerator,也称为Html2Image。这个工具能够将HTML页面转化为...
总结,通过以上步骤,我们可以使用Java实现一个功能完备的小程序海报图和分享图生成工具,它能够处理各种图像元素,进行精确的布局和文字排版,同时解决PNG图像的透明度问题,确保在微信小程序环境中呈现出高质量的...
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
1. **收集图标资源**:从各种图标文件(如SVG或PNG)中提取需要的图像,确保它们具有清晰的边界和透明背景,以便于在地图上叠加。 2. **合并图标**:将所有图标合并到一张大图中,每个图标占据一定的位置。这个位置...
这个程序使用了 TransparencyInterpolator 对象来实现动画效果,在背景白色时,使某个形体的透明度从 0.0f 到 1.0f 变化。 三、VRML 语言中的实现 在 VRML 语言中,我们可以使用 ScalarInterpolator 节点来实现...
例如,PNG通常用于需要透明背景或高质量图像的情况,而JPEG则适合颜色丰富的图片,但对文件大小有要求时。 2. 图片尺寸与分辨率:理解像素密度(如DPI,每英寸点数)和分辨率的概念,以及它们如何影响图片在不同...
在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数以定制化生成的GIF动画。 首先,我们需要一个库来处理图像和GIF格式。Java标准库并不直接支持GIF动画的创建,因此我们需要引入第三...
在Java编程语言中,生成图片是一项常见的任务,广泛应用于数据可视化、图表绘制、验证码生成、图形用户界面(GUI)设计等多...如果你对Java生成图片有更深入的需求,可以参考给定的博客链接或其他相关资源进一步学习。
在提供的代码片段中,开发者遇到了一个特定的问题,即当处理具有透明背景的图像时,生成的缩略图背景颜色不正确。这个问题主要是由于JPEG格式不支持透明度所导致的。 首先,让我们看看原始代码是如何工作的: 1. ...
在Java编程中,生成图表是一种常见的需求,用于可视化数据,帮助用户更好地理解复杂的信息。`ChartGenerater` 类提供了一种方法来利用JFreeChart库生成树状图和饼图。JFreeChart是一个强大的Java库,它允许开发人员...
然而,有时候我们需要批量处理PNG图像,去除它们的透明区域,将其背景统一设置为纯色,例如白色,以便于在某些不支持透明背景的场景下使用。这就需要用到特定的工具,如“批量去除png透明区域”的小工具。 该工具的...
PNG支持透明度,适合需要精细图形和透明背景的场合;JPG则更适合色彩丰富但不需要透明效果的图片,压缩率较高,文件体积小。 7. **编程接口(API)**:为了方便其他应用集成此功能,可能会提供一个API接口,其他...
在处理logo时,我们需要先将其缩放至合适的比例,然后将其位图数据插入到二维码中间,通常是以透明背景或低灰度值的方式,以保持二维码的可读性。 在实际开发中,为了保证二维码的正确识别,我们还需要考虑一些额外...