文档章节

java透明背景

我的名字叫李猜
 我的名字叫李猜
发布于 2016/10/13 21:56
字数 195
阅读 45
收藏 2
package top.lileix.test;

import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class App {
	@RequestMapping("/")
	@ResponseBody
	void home(HttpServletResponse response, String s) {

		int width = 55;
		int height = 55;
		int fontHeight = 55 / s.length()-3;
		String drawStr = s;
		BufferedImage buffImg = new BufferedImage(55, 55, BufferedImage.TYPE_INT_RGB);

		Graphics2D gd = buffImg.createGraphics();
		// 设置透明 start
		buffImg = gd.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
		gd = buffImg.createGraphics();
		// 设置透明 end

		// 画圆
		gd.setColor(Color.GRAY); // 设置颜色
		gd.fillOval(0, 0, 54, 54);

		gd.setFont(new Font("微软雅黑", Font.PLAIN, fontHeight)); // 设置字体
		gd.setColor(Color.white); // 设置颜色
		gd.drawString(drawStr, width / 2 - fontHeight * drawStr.length() / 2, (fontHeight + height) / 2-2); // 输出文字(中文横向居中)

		response.setHeader("Pragma", "no-cache");
		response.setHeader("Cache-Control", "no-cache");
		response.setDateHeader("Expires", 0);
		response.setContentType("image/jpeg");
		ServletOutputStream sos = null;
		try {
			sos = response.getOutputStream();
			ImageIO.write(buffImg, "png", sos);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (sos != null) {
				try {
					sos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

	public static void main(String[] args) throws Exception {
		SpringApplication.run(App.class, args);
	}
}

springboot

© 著作权归作者所有

共有 人打赏支持
上一篇: asd
下一篇: dango mysql 的问题
我的名字叫李猜

我的名字叫李猜

粉丝 87
博文 14
码字总数 1170
作品 0
万州
程序员
私信 提问
android 设置Button或者ImageButton的背景透明 半透明 透明

一:Button或者ImageButton的背景设为透明或者半透明 半透明<Button android:background="#e0000000" ... /> 透明<Button android:background="#00000000" ... /> 颜色和不透明度 (alpha) 值......

robinjiang
2013/10/25
0
0
安卓listview, 用java代码设置他item点击时候的背景色为透明

安卓listview, 用java代码设置他item点击时候的背景色为透明,百度了好久,差不多都是用xml配置listview的selector,能用java代码来设置么, 请大神们帮忙...

OvenCroc
2015/09/10
773
2
CoffeeSaint 2.1 发布

CoffeeSaint 是一个 Java 应用程序,用来显示 Nagios 监控系统的状态。 新版本增加了一个界面的透明特性,使得可以透过问题看到背景的图片和摄像头影响。该特性默认是不启用的。 下载地址:h...

红薯
2009/12/08
69
0
dialog,activity 屏蔽Home键详解

相信在Android应用上,很多时候逻辑是需要屏蔽Home键的,但这个用户体验是否需要,就看各位的需求了。 一般的方法屏蔽Home键,大家一定看过不少文章了。我总结一下,先说一下一般情况下Activ...

雨焰
2013/07/11
0
0
java中生成透明背景的gif图

首先感谢您发表的这篇文章: Java 无需第三方API来创建透明的GIF图像 http://www.oschina.net/question/12_2288 我使用上文的方法将文字成功地转换成了背景透明的gif图. 但两个问题想请教您一...

吕老三
2011/10/21
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

JS 调用Angularjs 的方法

// 1. 获取 Controllerlet appElement = document.querySelector('[data-ng-controller=MessagesCtrl]');let scope = angular.element(appElement).scope();// 2. 调用方法scope.l......

Moks角木
30分钟前
1
0
dubbo+zookeeper与 eureka的区别

CAP CAP 原则指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得 在分布式架构里, P必须有 Zookeeper保证C P 当...

群星纪元
39分钟前
2
0
云计算之边缘计算大势所趋

如果说边缘计算是公同认定的目标,那么我们看到,不同类型的厂商基于自身的特点,会从不同的起点、沿着不同的路径,向这个目标奔跑。上次参加阿里云的一次活动,看到他们将边缘计算的厂商分成...

linuxCool
44分钟前
0
0
前端通过后端传过来的'\n' ,''等字符串换行失败问题

后台推送换行符 '\n' 或 '<br/>' 等字符串到前台不会换行 详细描述 后台逻辑处理返回String字符串,其中包含\n或<br/>等换行符号,但是前端渲染时候却并没有真正的换行 也尝试了大佬的各种 ...

下次用oschina
51分钟前
2
0
volatile能保证有序性吗?

在前面提到volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证有序性。   volatile关键字禁止指令重排序有两层意思:   1)当程序执行到volatile变量的读操作或者写操作时...

无精疯
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部