From 57bd5c68e1f71aa9cbd0bf2d561a736db3b0cbbf Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 28 Aug 2024 16:09:45 +0800
Subject: [PATCH] 新增功能操作按钮,和更新了数据库数据
---
src/main/java/cc/mrbird/febs/mall/test/ImageToChar.java | 292 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 146 insertions(+), 146 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/test/ImageToChar.java b/src/main/java/cc/mrbird/febs/mall/test/ImageToChar.java
index ea4d0a2..76354a9 100644
--- a/src/main/java/cc/mrbird/febs/mall/test/ImageToChar.java
+++ b/src/main/java/cc/mrbird/febs/mall/test/ImageToChar.java
@@ -1,156 +1,156 @@
-package cc.mrbird.febs.mall.test;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.madgag.gif.fmsware.AnimatedGifEncoder;
-
-import javax.imageio.ImageIO;
-import java.awt.image.BufferedImage;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-/**
- * 基于Java的图片字符画(含动图)
- * https://blog.csdn.net/weixin_53070478/article/details/127183821?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-4-127183821-blog-125549681.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.3&utm_relevant_index=7
- */
-public class ImageToChar {
-
- static char[] ss = " `.^,:~\"<!ct+{i7?u30pw4A8DX%#HWM".toCharArray();
-
- /**
- * 将输入的图片转换成灰度图片
- * @param bi
- * @return
- */
- public static BufferedWriter ImageToChar(BufferedImage bi,String target){ //定义灰度方法 返回值为BufferedImage对象
- int width = bi.getWidth();
- int height =bi.getHeight();
- BufferedWriter bw = null; //构建新的对象模型
- try {
- bw = new BufferedWriter(new FileWriter(target),360);
-
- // 遍历图片的RGB值,把得到的灰度值存到bufferedImage_end中,然后返回bufferedImage_end
- int autoAdd = 2;//自增
- for (int j = 0; j < height; j += autoAdd) {
- for (int i = 0; i < width; i += autoAdd) {
- int pixel = bi.getRGB(i, j);
- int[] rgb = new int[3];
- rgb[0] = pixel >> 16 & 0xff;
- rgb[1] = pixel >> 8 & 0xff;
- rgb[2] = pixel & 0xff;
- int Gray = (rgb[0] * 28 + rgb[1] * 151 + rgb[2] * 77) >> 8; //通过三原色值计算像素点的灰度
- int x = Gray * ss.length / 255 % ss.length; //灰度值的百分比 计算出相应密度的字符表
- bw.write(ss[x]); //输出该字符
- bw.write(ss[x]);
- }
- bw.newLine();
- }
- bw.flush();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return bw;
- }
-
- /**
- * GIF转图片
- * https://blog.csdn.net/adminstate/article/details/128917090?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171653969716800197097670%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171653969716800197097670&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-128917090-null-null.142^v100^pc_search_result_base8&utm_term=java%20%E5%9B%BE%E7%89%87%E8%BD%ACGif&spm=1018.2226.3001.4187
- * @param args
- */
-// public static void main(String[] args) {
-// Integer scaleSize = 360;
-// GifDecoder gd = new GifDecoder();
-// try{
-// gd.read(Files.newInputStream(new File("D:\\image\\imageGif.gif").toPath()));
-// for (int i = 0; i < gd.getFrameCount(); i++) { //逐帧转换为图片。
-// BufferedImage frame = gd.getFrame(i);
-// float width = frame.getWidth(); // 像素
-// float height = frame.getHeight(); // 像素
-// float scale = width/scaleSize;
-// BufferedImage buffImg = new BufferedImage(scaleSize, (int)(height/scale), BufferedImage.TYPE_INT_RGB);
-// //使用TYPE_INT_RGB修改的图片会变色
-// buffImg.getGraphics().drawImage(
-// frame.getScaledInstance(scaleSize, (int)(height/scale), Image.SCALE_SMOOTH), 0,
-// 0, null);
+//package cc.mrbird.febs.mall.test;
//
-// ImageIO.write(buffImg, "jpg", new File("D:\\image\\gif\\"+i+".png"));
+//import cn.hutool.core.util.ObjectUtil;
+//import com.madgag.gif.fmsware.AnimatedGifEncoder;
+//
+//import javax.imageio.ImageIO;
+//import java.awt.image.BufferedImage;
+//import java.io.BufferedWriter;
+//import java.io.File;
+//import java.io.FileWriter;
+//import java.io.IOException;
+//
+///**
+// * 基于Java的图片字符画(含动图)
+// * https://blog.csdn.net/weixin_53070478/article/details/127183821?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-4-127183821-blog-125549681.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.3&utm_relevant_index=7
+// */
+//public class ImageToChar {
+//
+// static char[] ss = " `.^,:~\"<!ct+{i7?u30pw4A8DX%#HWM".toCharArray();
+//
+// /**
+// * 将输入的图片转换成灰度图片
+// * @param bi
+// * @return
+// */
+// public static BufferedWriter ImageToChar(BufferedImage bi,String target){ //定义灰度方法 返回值为BufferedImage对象
+// int width = bi.getWidth();
+// int height =bi.getHeight();
+// BufferedWriter bw = null; //构建新的对象模型
+// try {
+// bw = new BufferedWriter(new FileWriter(target),360);
+//
+// // 遍历图片的RGB值,把得到的灰度值存到bufferedImage_end中,然后返回bufferedImage_end
+// int autoAdd = 2;//自增
+// for (int j = 0; j < height; j += autoAdd) {
+// for (int i = 0; i < width; i += autoAdd) {
+// int pixel = bi.getRGB(i, j);
+// int[] rgb = new int[3];
+// rgb[0] = pixel >> 16 & 0xff;
+// rgb[1] = pixel >> 8 & 0xff;
+// rgb[2] = pixel & 0xff;
+// int Gray = (rgb[0] * 28 + rgb[1] * 151 + rgb[2] * 77) >> 8; //通过三原色值计算像素点的灰度
+// int x = Gray * ss.length / 255 % ss.length; //灰度值的百分比 计算出相应密度的字符表
+// bw.write(ss[x]); //输出该字符
+// bw.write(ss[x]);
+// }
+// bw.newLine();
// }
-// }catch(IOException e){
-// System.out.println(e);
+// bw.flush();
+// } catch (IOException e) {
+// e.printStackTrace();
// }
+// return bw;
// }
-
-
- /**
- * 图片转GIF
- * https://blog.csdn.net/adminstate/article/details/128917090?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171653969716800197097670%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171653969716800197097670&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-128917090-null-null.142^v100^pc_search_result_base8&utm_term=java%20%E5%9B%BE%E7%89%87%E8%BD%ACGif&spm=1018.2226.3001.4187
- * @param args
- */
- public static void main(String[] args) {
- // 存放jpg文件目录
- String inpath = "D:\\image\\gif\\";
-
- //生成GIF
- AnimatedGifEncoder animatedGifEncoder = new AnimatedGifEncoder();
- animatedGifEncoder.setRepeat(0);
- animatedGifEncoder.start("D:\\image\\gif\\screenshot.gif");
-
- try{
- //获取目录下所有jpg及其他非gif图片文件
- String[] pic = new File(inpath).list();
- BufferedImage[] src = new BufferedImage[pic.length];
-
- for (int i = 0; i <= src.length; i++) {
- String pngPath = inpath + i + ".png";
- if(new File(pngPath).exists()){
- animatedGifEncoder.setDelay(100); //设置播放间隔
- src[i] = ImageIO.read(new File(pngPath)); // 读入需要播放的jpg文件
- animatedGifEncoder.addFrame(src[i]); //添加到帧中
- }
- }
- animatedGifEncoder.finish();
- }catch(IOException e){
- System.err.println("合成gif图失败");
- }
- }
-
- /**
- * 将GIF图片转换成字符串
- * @param args
- */
-// public static void main(String[] args) {
-// GifDecoder gd = new GifDecoder();
-// try{
//
-// gd.read(Files.newInputStream(new File("D:\\image\\gif\\screenshot.gif").toPath()));
-// System.out.println(gd.getFrameCount());
-// for (int i = 0; i < gd.getFrameCount(); i++) { //逐帧转换为字符集。
-// System.out.println(gd.getFrameCount());
-// BufferedImage frame = gd.getFrame(i);
-// ImageToChar(frame,"D:\\image\\ImageToChar.txt"); //参数提供缓冲图片对象,以及目标文本输出地址。
-// try {
-// Thread.sleep(500);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
+// /**
+// * GIF转图片
+// * https://blog.csdn.net/adminstate/article/details/128917090?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171653969716800197097670%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171653969716800197097670&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-128917090-null-null.142^v100^pc_search_result_base8&utm_term=java%20%E5%9B%BE%E7%89%87%E8%BD%ACGif&spm=1018.2226.3001.4187
+// * @param args
+// */
+//// public static void main(String[] args) {
+//// Integer scaleSize = 360;
+//// GifDecoder gd = new GifDecoder();
+//// try{
+//// gd.read(Files.newInputStream(new File("D:\\image\\imageGif.gif").toPath()));
+//// for (int i = 0; i < gd.getFrameCount(); i++) { //逐帧转换为图片。
+//// BufferedImage frame = gd.getFrame(i);
+//// float width = frame.getWidth(); // 像素
+//// float height = frame.getHeight(); // 像素
+//// float scale = width/scaleSize;
+//// BufferedImage buffImg = new BufferedImage(scaleSize, (int)(height/scale), BufferedImage.TYPE_INT_RGB);
+//// //使用TYPE_INT_RGB修改的图片会变色
+//// buffImg.getGraphics().drawImage(
+//// frame.getScaledInstance(scaleSize, (int)(height/scale), Image.SCALE_SMOOTH), 0,
+//// 0, null);
+////
+//// ImageIO.write(buffImg, "jpg", new File("D:\\image\\gif\\"+i+".png"));
+//// }
+//// }catch(IOException e){
+//// System.out.println(e);
+//// }
+//// }
+//
+//
+// /**
+// * 图片转GIF
+// * https://blog.csdn.net/adminstate/article/details/128917090?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171653969716800197097670%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171653969716800197097670&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-128917090-null-null.142^v100^pc_search_result_base8&utm_term=java%20%E5%9B%BE%E7%89%87%E8%BD%ACGif&spm=1018.2226.3001.4187
+// * @param args
+// */
+// public static void main(String[] args) {
+// // 存放jpg文件目录
+// String inpath = "D:\\image\\gif\\";
+//
+// //生成GIF
+// AnimatedGifEncoder animatedGifEncoder = new AnimatedGifEncoder();
+// animatedGifEncoder.setRepeat(0);
+// animatedGifEncoder.start("D:\\image\\gif\\screenshot.gif");
+//
+// try{
+// //获取目录下所有jpg及其他非gif图片文件
+// String[] pic = new File(inpath).list();
+// BufferedImage[] src = new BufferedImage[pic.length];
+//
+// for (int i = 0; i <= src.length; i++) {
+// String pngPath = inpath + i + ".png";
+// if(new File(pngPath).exists()){
+// animatedGifEncoder.setDelay(100); //设置播放间隔
+// src[i] = ImageIO.read(new File(pngPath)); // 读入需要播放的jpg文件
+// animatedGifEncoder.addFrame(src[i]); //添加到帧中
// }
// }
+// animatedGifEncoder.finish();
// }catch(IOException e){
-// System.out.println(e);
+// System.err.println("合成gif图失败");
// }
// }
-
- /**
- * 将图片转换成字符串
- * @param args
- */
-// public static void main(String[] args) {
-// try{
-// ImageToChar(
-// ImageIO.read(new File("D:\\image\\outDpi.png")),
-// "D:\\image\\ImageToChar.txt");
-// }catch(IOException e){
-// System.out.println(e);
-// }
-// }
-}
+//
+// /**
+// * 将GIF图片转换成字符串
+// * @param args
+// */
+//// public static void main(String[] args) {
+//// GifDecoder gd = new GifDecoder();
+//// try{
+////
+//// gd.read(Files.newInputStream(new File("D:\\image\\gif\\screenshot.gif").toPath()));
+//// System.out.println(gd.getFrameCount());
+//// for (int i = 0; i < gd.getFrameCount(); i++) { //逐帧转换为字符集。
+//// System.out.println(gd.getFrameCount());
+//// BufferedImage frame = gd.getFrame(i);
+//// ImageToChar(frame,"D:\\image\\ImageToChar.txt"); //参数提供缓冲图片对象,以及目标文本输出地址。
+//// try {
+//// Thread.sleep(500);
+//// } catch (InterruptedException e) {
+//// e.printStackTrace();
+//// }
+//// }
+//// }catch(IOException e){
+//// System.out.println(e);
+//// }
+//// }
+//
+// /**
+// * 将图片转换成字符串
+// * @param args
+// */
+//// public static void main(String[] args) {
+//// try{
+//// ImageToChar(
+//// ImageIO.read(new File("D:\\image\\outDpi.png")),
+//// "D:\\image\\ImageToChar.txt");
+//// }catch(IOException e){
+//// System.out.println(e);
+//// }
+//// }
+//}
--
Gitblit v1.9.1