`

Java生成透明背景图片

阅读更多

说明:

  1. 涉及到的类:BufferedImage,Graphics2D,ImageIO
  2. 不多说,很简单,运行例子,查看注释

 

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.更多的内容请看我的  个人博客(测试版)

  • 大小: 4.3 KB
1
4
分享到:
评论
3 楼 snkcxy 2013-12-12  
gd.drawRoundRect(0, 0, width - 1, height - 1,20,20);
画圆角
2 楼 snkcxy 2013-08-23  
yan1990 写道
呵呵   黑色的是透明的?

呵呵 橘红色边的 是透明的
1 楼 yan1990 2013-08-21  
呵呵   黑色的是透明的?

相关推荐

    java后台生成背景透明的验证码

    java后台生成背景色透明验证码的方法,可直接调用。本方法只生成随机字符数字组成的四位验证码。

    java生成透明图片

    在Java编程语言中,生成透明图片涉及到图像处理和颜色模型的知识。Java提供了丰富的API来处理图像,例如在`java.awt`和`javax.imageio`包中。本文将深入探讨如何在Java中创建并保存带有透明度的PNG或GIF图片。 首先...

    java动态生成图片 并把当前时间写在图片上

    Java动态生成图片并把当前时间写在图片上是一项常见的需求,比如用于生成验证码、日志记录或者自定义的报告。这个任务涉及到Java图形处理、日期时间处理以及IO操作等多个方面。下面将详细介绍如何实现这个功能。 ...

    java生成图片的验证码工具类及其使用

    java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...

    java多张图片重叠。包括透明图片

    本示例探讨了如何将多张图片重叠在一起,包括处理透明度,特别是PNG等支持透明度的图像格式。这是一个关键的图像处理技术,因为可以创建复杂的视觉效果或者进行图像合成。 首先,我们需要引入Java的`javax.imageio`...

    java对图片改变大小,png防止变黑,加圆角 圆角外透明

    本篇文章将深入探讨如何在Java中实现这些功能,特别是针对PNG格式的图片,因为PNG格式支持透明度,但在处理过程中可能会出现背景变黑的问题。 首先,我们需要引入Java的`java.awt`和`javax.imageio`包,它们提供了...

    Java生成图片验证码工具类源码

    源码提供了一个生成图片验证码的工具类,适用于各种需要验证码的场景,如用户注册、...生成的验证码图片背景透明,线条清晰,可轻松辨认。本源码包含了工具类源码及调用示例,可供开发者参考使用,集成到您的项目中。

    java 后台 生成的表格通过HtmlImageGenerator(Html2Image) 生成图片

    Java 后台生成的表格通常用于数据展示,但有时我们需要将这些动态生成的表格转换为图片格式,以便于分享、打印或保存。这就涉及到一个工具——HtmlImageGenerator,也称为Html2Image。这个工具能够将HTML页面转化为...

    java生成微信小程序分享图海报图的全过程 可作为util直接使用

    总结,通过以上步骤,我们可以使用Java实现一个功能完备的小程序海报图和分享图生成工具,它能够处理各种图像元素,进行精确的布局和文字排版,同时解决PNG图像的透明度问题,确保在微信小程序环境中呈现出高质量的...

    java处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....

    本地生成Mapbox使用的精灵图片 mapbox sprite 本地离线生成与 拆分 可运行的java程序

    1. **收集图标资源**:从各种图标文件(如SVG或PNG)中提取需要的图像,确保它们具有清晰的边界和透明背景,以便于在地图上叠加。 2. **合并图标**:将所有图标合并到一张大图中,每个图标占据一定的位置。这个位置...

    JAVA3D学习系列(17)--动画的生成(下)

    这个程序使用了 TransparencyInterpolator 对象来实现动画效果,在背景白色时,使某个形体的透明度从 0.0f 到 1.0f 变化。 三、VRML 语言中的实现 在 VRML 语言中,我们可以使用 ScalarInterpolator 节点来实现...

    指定大小图片生成器,用于生成指定尺寸的图片

    例如,PNG通常用于需要透明背景或高质量图像的情况,而JPEG则适合颜色丰富的图片,但对文件大小有要求时。 2. 图片尺寸与分辨率:理解像素密度(如DPI,每英寸点数)和分辨率的概念,以及它们如何影响图片在不同...

    java实现多张png,jpg等各种图片文件转动态gif图

    在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数以定制化生成的GIF动画。 首先,我们需要一个库来处理图像和GIF格式。Java标准库并不直接支持GIF动画的创建,因此我们需要引入第三...

    java生成图片

    在Java编程语言中,生成图片是一项常见的任务,广泛应用于数据可视化、图表绘制、验证码生成、图形用户界面(GUI)设计等多...如果你对Java生成图片有更深入的需求,可以参考给定的博客链接或其他相关资源进一步学习。

    java生成缩略图.pdf

    在提供的代码片段中,开发者遇到了一个特定的问题,即当处理具有透明背景的图像时,生成的缩略图背景颜色不正确。这个问题主要是由于JPEG格式不支持透明度所导致的。 首先,让我们看看原始代码是如何工作的: 1. ...

    JAVA 生成树状图及饼图操作

    在Java编程中,生成图表是一种常见的需求,用于可视化数据,帮助用户更好地理解复杂的信息。`ChartGenerater` 类提供了一种方法来利用JFreeChart库生成树状图和饼图。JFreeChart是一个强大的Java库,它允许开发人员...

    批量去除png透明区域,并生成配置文件

    然而,有时候我们需要批量处理PNG图像,去除它们的透明区域,将其背景统一设置为纯色,例如白色,以便于在某些不支持透明背景的场景下使用。这就需要用到特定的工具,如“批量去除png透明区域”的小工具。 该工具的...

    根据中文首字生成图片如头像等场景需求

    PNG支持透明度,适合需要精细图形和透明背景的场合;JPG则更适合色彩丰富但不需要透明效果的图片,压缩率较高,文件体积小。 7. **编程接口(API)**:为了方便其他应用集成此功能,可能会提供一个API接口,其他...

    java zing识别、生成带logo二维码

    在处理logo时,我们需要先将其缩放至合适的比例,然后将其位图数据插入到二维码中间,通常是以透明背景或低灰度值的方式,以保持二维码的可读性。 在实际开发中,为了保证二维码的正确识别,我们还需要考虑一些额外...

Global site tag (gtag.js) - Google Analytics