java 头像 微信群_java怎么生成带用户微信头像的图片,并把这张图片发送给用户。...

展开全部

这个是要一个图片中嵌套另外一张图片

你可以62616964757a686964616fe59b9ee7ad9431333431336163试试下面这段代码import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.net.URL;

import javax.imageio.ImageIO;

/**

* 把两张图片合并

* @author lizhiyong

* @version $Id: Pic.java, v 0.1

2015-6-3 下午3:21:23 1111 Exp $

*/

public class Pic {

private Font       font     = new Font("宋体", Font.PLAIN, 12); // 添加字体的属性设置

private Graphics2D g        = null;

private int        fontsize = 0;

private int        x        = 0;

private int        y        = 0;

/**

* 导入本地图片到缓冲区

*/

public BufferedImage loadImageLocal(String imgName) {

try {

return ImageIO.read(new File(imgName));

} catch (IOException e) {

System.out.println(e.getMessage());

}

return null;

}

/**

* 导入网络图片到缓冲区

*/

public BufferedImage loadImageUrl(String imgName) {

try {

URL url = new URL(imgName);

return ImageIO.read(url);

} catch (IOException e) {

System.out.println(e.getMessage());

}

return null;

}

/**

* 生成新图片到本地

*/

public void writeImageLocal(String newImage, BufferedImage img) {

if (newImage != null && img != null) {

try {

File outputfile = new File(newImage);

ImageIO.write(img, "jpg", outputfile);

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

/**

* 设定文字的字体等

*/

public void setFont(String fontStyle, int fontSize) {

this.fontsize = fontSize;

this.font = new Font(fontStyle, Font.PLAIN, fontSize);

}

/**

* 修改图片,返回修改后的图片缓冲区(只输出一行文本)

*/

public BufferedImage modifyImage(BufferedImage img, Object content, int x, int y) {

try {

int w = img.getWidth();

int h = img.getHeight();

g = img.createGraphics();

g.setBackground(Color.WHITE);

g.setColor(Color.orange);//设置字体颜色

if (this.font != null)

g.setFont(this.font);

// 验证输出位置的纵坐标和横坐标

if (x >= h || y >= w) {

this.x = h - this.fontsize + 2;

this.y = w;

} else {

this.x = x;

this.y = y;

}

if (content != null) {

g.drawString(content.toString(), this.x, this.y);

}

g.dispose();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return img;

}

/**

* 修改图片,返回修改后的图片缓冲区(输出多个文本段) xory:true表示将内容在一行中输出;false表示将内容多行输出

*/

public BufferedImage modifyImage(BufferedImage img, Object[] contentArr, int x, int y,

boolean xory) {

try {

int w = img.getWidth();

int h = img.getHeight();

g = img.createGraphics();

g.setBackground(Color.WHITE);

g.setColor(Color.RED);

if (this.font != null)

g.setFont(this.font);

// 验证输出位置的纵坐标和横坐标

if (x >= h || y >= w) {

this.x = h - this.fontsize + 2;

this.y = w;

} else {

this.x = x;

this.y = y;

}

if (contentArr != null) {

int arrlen = contentArr.length;

if (xory) {

for (int i = 0; i 

g.drawString(contentArr[i].toString(), this.x, this.y);

this.x += contentArr[i].toString().length() * this.fontsize / 2 + 5;// 重新计算文本输出位置

}

} else {

for (int i = 0; i 

g.drawString(contentArr[i].toString(), this.x, this.y);

this.y += this.fontsize + 2;// 重新计算文本输出位置

}

}

}

g.dispose();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return img;

}

/**

* 修改图片,返回修改后的图片缓冲区(只输出一行文本)

*

* 时间:2007-10-8

*

* @param img

* @return

*/

public BufferedImage modifyImageYe(BufferedImage img) {

try {

int w = img.getWidth();

int h = img.getHeight();

g = img.createGraphics();

g.setBackground(Color.WHITE);

g.setColor(Color.blue);//设置字体颜色

if (this.font != null)

g.setFont(this.font);

g.drawString("www.hi.baidu.com?xia_mingjian", w - 85, h - 5);

g.dispose();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return img;

}

public BufferedImage modifyImagetogeter(BufferedImage b, BufferedImage d) {

try {

int w = b.getWidth();

int h = b.getHeight();

g = d.createGraphics();

g.drawImage(b, 100, 20, w, h, null);

g.dispose();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return d;

}

public static void main(String[] args) {

Pic tt = new Pic();

BufferedImage d = tt.loadImageLocal("\\ploanshare\\2\\11.jpg");

BufferedImage b = tt.loadImageLocal("\\ploanshare\\2\\22.png");

//往图片上写文件

//tt.writeImageLocal("E:\\ploanshare\\2\\22.jpg", tt.modifyImage(d, "000000", 90, 90));

tt.writeImageLocal("\\ploanshare\\2\\cc.jpg", tt.modifyImagetogeter(b, d));

//将多张图片合在一起

System.out.println("success");

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyEclipse 的 TCP/IP Monitor 的使用

文章目录步骤 1:新建 web02 工程步骤 2:在 WebRoot 下创建 add_employee.html步骤 3:部署项目步骤 4:启动服务器步骤 5:打开 TCP/IP Monitor步骤 6:增加新的监视器步骤 7:启动监视器步骤 8&…

ubuntu linux mac地址,Ubuntu下修改mac地址

说明,本文翻译自man macchanger,若遇到不能理解的地方请参考man文档概述macchanger是linux下用于查看和修改网络接口mac地址的工具使用方法macchanger [options] device选项-e, --ending不要修改vendor-a, --another设置为一个同类型的MAC,同…

openwrt固定速率_固定速率与固定延迟– RxJava常见问题解答

openwrt固定速率如果您使用的是纯Java,从版本5开始,我们有一个方便的调度程序类,该类允许以固定速率或固定延迟运行任务: import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService;Schedu…

如何处理表单中的中文(中文编码/解码问题)

浏览器会如何对表单中的数据进行编码? 当表单采用 post 方式提交时&#xff0c;浏览器会按照打开该表单所在的页面的编码来对表单中的数据进行编码。 在 html 文件当中设置字符编码集&#xff08;即字符编码格式&#xff09; <meta http-equiv"content-type" …

linux 进城 管道丢数据,linux – 使用命名管道与bash – 数据丢失的问题

有人在线搜索,发现简单的“教程”使用命名管道.但是,当我做任何后台工作时,我似乎失去了大量的数据.[[编辑&#xff1a;找到一个更简单的解决方案,看到回复帖子.所以我提出的问题现在是学术性的 – 万一有人想要一个工作服务器]]使用Ubuntu 10.04与Linux 2.6.32-25-generic#45-…

wso2 安装_WSO2注册表安装简介

wso2 安装这篇文章基于有关注册表安装及其工作原理等常见问题。以下是人们提出的主要问题&#xff1a; 1&#xff09;。 安装如何工作&#xff1f; 2&#xff09;。 Config Registry和Governance Registry有什么区别&#xff1f; 3&#xff09;。 可以将H2以外的数据库用于本…

Servlet配置错误处理页面/配置错误页面

写一个错误处理页面 error.html <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>Insert title here</title> </head> <body style"font-size:30px;color:red;&quo…

azdb文件怎么打开_AZDBExplorerSvcs.dll

我该如何安装从金山毒霸下载的DLL文件&#xff1f;一&#xff1a;1、从金山毒霸下载压缩文件。2、将DLL文件解压到电脑上的某个地方。3、把该文件跟要求使用它的程序放在同一路径上。注意32位程序需要使用32位的DLL文件&#xff0c;64位程序需要使用64位的DLL文件。否则会出现0…

linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?

1.安装sambasudo apt-get install samba2.找到系统打印机选项通过 Menu-->>控制中心-->>系统管理找到 Printers选项&#xff0c;双击打开。3.核对windows打印机名并添加在如上图的画面中&#xff0c;点击 “Network Printer”&#xff0c;再点击“windows Printer …

5菜鸟教程_excel图文教程:应用PQ工具进行数据整理

编按&#xff1a;哈喽&#xff0c;大家好&#xff01;在日常工作中&#xff0c;我们经常会与数据打交道&#xff0c;那整理数据自然也是一件习以为常的事。但就是这么一件天天都会做的事&#xff0c;却让很多人压力山大&#xff0c;这不&#xff0c;又有一位小伙伴遇到问题了&a…

MyEclipse 如何将 jar 包导入项目中

步骤 1 项目右键->build path( 构建路径 )->configure build path(配置构建路径) 步骤 2 Java Build Path --> libraries(库) --> Add External JARs --> 选择 ojdbc14_11g.jar 在项目中出现 Referenced Libraries , 则完成

redis lettuce_Redis Client Lettuce 5 GA发布

redis lettuce经过13个月的开发阶段和208张已解决的故障单&#xff0c;我很高兴宣布Lettuce 5.0全面上市。 这是一个主要发行版&#xff0c;带有一些重大更改&#xff0c;新的有趣功能以及Java 9兼容性。 从Maven Central获取发行版 <dependency><groupId>io.let…

c语言限制字符数,C语言中“不受限制”的字符串函数总结.pdf

C语语言言中中“不不受受限限制制”的的字字符符串串函函数数总总结结“不不受受限限制制的的“字字符符串串函函数数按 《C和指针》中所说&#xff0c;那些常用的字符串函数都是“不是限制的”&#xff0c;就是说 们只能通过寻找字符串末尾的NULL来判断字符串的长度。strlenst…

测试类/测试包/演示类/演示包的命名规范/命名规则

文章目录1.测试类的命名规范2.测试程序的包命名规范3.测试方法命名规范4.演示类/范例类的命名规范1.测试类的命名规范 测试类命名规则&#xff1a;Test 要测试的类名称 测试类命名规则&#xff1a;功能名称或者类名 Test ✓ 2.测试程序的包命名规范 测试程序包的命名规则是…

mybatis转义反斜杠_MyBatis Plus like模糊查询特殊字符_、\、%

在MyBatis Plus中&#xff0c;使用like查询特殊字符_&#xff0c;\&#xff0c;%时会出现以下情况&#xff1a;1、查询下划线_&#xff0c;sql语句会变为"%_%"&#xff0c;会导致返回所有结果。在MySQL中下划线“_”表示匹配单个字符&#xff0c;所以结合后“%_%”就…

移动端apm关键指标_3个经常被忽视的APM关键功能

移动端apm关键指标APM核心功能已不再足够。 市场领先的应用程序超越了所有人&#xff0c;树立了其他人必须匹配的新标准。 每当任何针对消费者或企业的Web应用程序达到新的性能高峰时&#xff0c;都会为用户期望值设定基准。 这可能不公平或不合理&#xff0c;但这就是市场运作…

Java包命名规则/包命名规范

文章目录个人项目的包命名规则团队项目的包命名规则包前缀说明包名通常是一个单词&#xff0c;且单词通常是名词&#xff0c;字母全部小写&#xff0c;如果多个单词使用下划线连接。 个人项目的包命名规则 individual&#xff08;个体&#xff09;&#xff1a;指个体项目&…

程序设计基础(c语言)复习大纲,《程序设计基础-C》复习大纲.doc

《程序设计基础-C》复习大纲.doc《程序设计基础-C》复习大纲第一部分 期末考核说明一、期末考试要求考核学生是否掌握C语言的基本概念&#xff0c;能否较熟练运用Visual C工具进行程序设计。具体考核要求分为以下几个层次&#xff1a;掌握C的基本语法结构&#xff1b;掌握基本的…

单容水箱液位pid控制实验报告_单容水箱液位PID控制系统

图7-1、单容水箱液位控制系统的方块图图7-1为单容水箱液位控制系统。这是一个单回路反馈控制系统&#xff0c;它的控制任务是使水箱液位等于给定值所要求的高度&#xff1b;并减小或消除来自系统内部或外部扰动的影响。单回路控制系统由于结构简单、投资省、操作方便、且能满足…

oauth 使用令牌_使用OAuth2令牌的安全REST服务

oauth 使用令牌1.简介 在本教程中&#xff0c;我们将介绍如何将Spring Security与OAuth结合使用以保护REST服务。 在演示应用程序中&#xff0c;可以使用路径模式&#xff08; / api / ** &#xff09;访问服务器上受保护的REST资源&#xff0c;以便基于该路径的请求URL映射到不…