if (!ImageIO.write(image, format, stream)) {
throw new IOException("Could not write an image of format "
+ format);
}
}
}
文章插图
文章插图
3第三
:给图片(二维码和条形码)添加log的java类 。
1、具体代码如下所示:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
//二维码 添加 logo图标 处置的方式, 仿照微信主动生当作二维码结果 , 有圆角边框 , logo和二维码间有空白区 , logo带有灰色边框
public class LogoConfig {
/**
* 设置 logo
*
* @param matrixImage
* 源二维码图片
* @return 返回带有logo的二维码图片
* @throws IOException
* @author Administrator sangwenhao
*/
public BufferedImage LogoMatrix(BufferedImage matrixImage)
throws IOException {
/**
* 读取二维码图片 , 并构建画图对象
*/
Graphics2D g2 = matrixImage.createGraphics();
int matrixWidth = matrixImage.getWidth();
int matrixHeigh = matrixImage.getHeight();
/**
* 读取Logo图片
*/
BufferedImage logo = ImageIO.read(new File("E:/file/log.jpg"));
// 起头绘制图片
g2.drawImage(logo, matrixWidth / 5 * 2, matrixHeigh / 5 * 2,
matrixWidth / 5, matrixHeigh / 5, null);// 绘制
BasicStroke stroke = new BasicStroke(5, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND);
g2.setStroke(stroke);// 设置笔画对象
// 指定弧度的圆角矩形
RoundRectangle2D.Float round = new RoundRectangle2D.Float(
matrixWidth / 5 * 2, matrixHeigh / 5 * 2, matrixWidth / 5,
matrixHeigh / 5, 20, 20);
g2.setColor(Color.white);
g2.draw(round);// 绘制圆弧矩形
// 设置logo 有一道灰色边框
BasicStroke stroke2 = new BasicStroke(1, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND);
g2.setStroke(stroke2);// 设置笔画对象
RoundRectangle2D.Float round2 = new RoundRectangle2D.Float(
matrixWidth / 5 * 2 + 2, matrixHeigh / 5 * 2 + 2,
matrixWidth / 5 - 4, matrixHeigh / 5 - 4, 20, 20);
g2.setColor(new Color(128, 128, 128));
g2.draw(round2);// 绘制圆弧矩形
g2.dispose();
matrixImage.flush();
return matrixImage;
}
}
文章插图
文章插图
4第四
:生当作二维码和条形码测试代码 。
1、具体代码如下所示:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class EncodeTest {
public static void main(String[] args) throws Exception {
EncodeTest test = new EncodeTest();
推荐阅读
- Excel如何制作进销存汇总表
- 如何用Word制作书法字帖
- 怎么使用Powershell查看组策略信息
- 如何判断猫藓快好了
- 2个月小猫如何分辨公母
- 如何泡茶有益健康
- 暖宝宝/暖贴的正确使用方法
- 如何提升记忆力的方法
- Word使用技巧-怎么制作钢笔字帖
- 余利宝如何设置银行卡定时定额转入