javastring转换成图片

求助,帮我用JAVA语言写一个字节转换成图片的方法,返回图片类型

我直接把做验证码的代码发出来了。如果你不是要做验证码。那你自己看下就知道你问题的答案了。

//清空浏览器缓存。确保验证图片更换

response.setHeader(“Cache-Control”,”no-cache”);

response.setHeader(“Pragma”, “no-cache”);

response.setDateHeader(“Expires”, -1);

//以图片形式打开数据

response.setHeader(“Content-Type”,”image/jpeg”);

//response.setContentType(“image/jpeg”);

//在内存中创建一副图片

BufferedImage image=new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB);

//在图片上写数据

Graphics g=image.getGraphics();

g.setColor(Color.black);

//画个宽为80.、高30的实心矩形刚好将图片遮盖

g.fillRect(0, 0, 80, 30);

//设置图片上字体的颜色及格式

g.setColor(Color.red);

g.setFont(new Font(“宋体”,Font.BOLD,20));

//将字体写入图片

String num=makeNum();

//将字串保存到session中

request.getSession().setAttribute(“checkcode”, num);

//写字符串。坐标是从基线为准。

g.drawString(num, 0, 20);

//将图片输出给浏览器。参数分别为要写入的 RenderedImage。 包含格式非正式名称的 String。 将在其中写入数据的 OutputStream。

ImageIO.write(image, “jpg”,response.getOutputStream());

}

public String makeNum(){

Random r=new Random();

String num=r.nextInt(10000000)+””;

StringBuffer stringBuffer=new StringBuffer();

for (int i = 0; i 7-num.length(); i++) {

stringBuffer.append(“0”);

}

num=stringBuffer.toString()+num;

return num;

}

javastring转换成图片

java 16进制字符串转图片

String src=…; //从数据库取得的字符串

String output=…; //定义一个输出流用来保存图片

try{

FileOutputStream out = new FileOutputStream(new File(output));

byte[] bytes = src.getBytes();

for(int i=0;i bytes.length;i+=2){

out.write(charToInt(bytes[i])*16+charToInt(bytes[i+1]));

}

out.close();

}catch(Exception e){

e.printStackTrace();

}

java文本文件转化为图片文件怎么弄?

文件在计算机中都是以二进制保存的,但系统是以文件头来区分各种文件格式的。

也就是说,仅仅更改后缀名是不行的。

按照你说想的,可以这么来做:

1、读取txt文本的每一行

2、创建BufferedImage图片,然后在图片上画读取到的文本

下面给出示例程序:

测试类 TextToImageExample.java

import java.io.File;

import java.util.Scanner;

/**

 * 文本转图片测试类

 * @author YY2924 2014/11/18

 * @version 1.0

 */

public class TextToImageExample {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.print(“输入TXT文本名称 (例如: D:/java.txt ):”);

        String textFileName = in.nextLine();

        System.out.print(“输入保存的图片名称 (例如: D:/java.jpg):”);

        String imageFileName = in.nextLine();

        

        TextToImage convert = new TextToImage(new File(textFileName), new File(imageFileName));

        boolean success = convert.convert();

        System.out.println(“文本转图片:” + (success ? “成功” : “失败”));

    }

}

文本转图片类 TextToImage.java

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import com.sun.image.codec.jpeg.JPEGImageEncoder;

import com.sun.image.codec.jpeg.JPEGCodec;

/**

 * 文本转图片类

 * @author YY2924 2014/11/18

 * @version 1.0

 */

public class TextToImage {

    /** 文本文件  */

    private File textFile;

    /** 图片文件 */

    private File imageFile;

    

    /** 图片 */

    private BufferedImage image;

    /** 图片宽度  */

    private final int IMAGE_WIDTH = 400;

    /** 图片高度 */

    private final int IMAGE_HEIGHT = 600;

    /** 图片类型  */

    private final int IMAGE_TYPE = BufferedImage.TYPE_INT_RGB;

    

    /**

     * 构造函数

     * @param textFile 文本文件

     * @param imageFile 图片文件

     */

    public TextToImage(File textFile,File imageFile){

        this.textFile = textFile;

        this.imageFile = imageFile;

        this.image = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_TYPE);

    }

    

    /**

     * 将文本文件里文字,写入到图片中保存

     * @return boolean  true,写入成功;false,写入失败

     */

    public boolean convert() {

        

        //读取文本文件

        BufferedReader reader = null;

        try {

            reader = new BufferedReader(new FileReader(textFile));

        } catch (FileNotFoundException e) {

            e.printStackTrace();

            return false;

        }

        

        //获取图像上下文

        Graphics g = createGraphics(image);

        String line;

        //图片中文本行高

        final int Y_LINEHEIGHT = 15;

        int lineNum = 1;

        try {

            while((line = reader.readLine()) != null){

                g.drawString(line, 0, lineNum * Y_LINEHEIGHT);

                lineNum++;

            }

            g.dispose();

            

            //保存为jpg图片

            FileOutputStream fos = new FileOutputStream(imageFile);

            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);

            encoder.encode(image);

            fos.close();

        } catch (IOException e) {

            e.printStackTrace();

            return false;

        }

        return true;

    }

    

    /**

     * 获取到图像上下文

     * @param image 图片

     * @return Graphics

     */

    private Graphics createGraphics(BufferedImage image){

        Graphics g = image.createGraphics();

        g.setColor(Color.WHITE); //设置背景色

        g.fillRect(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);//绘制背景

        g.setColor(Color.BLACK); //设置前景色

        g.setFont(new Font(“微软雅黑”, Font.PLAIN, 12)); //设置字体

        return g;

    }

    

}

特别注意:程序中使用到了com.sun.image.codec.jpeg.JPEGImageEncoder和 com.sun.image.codec.jpeg.JPEGCodec ,这 两个是sun的专用API,Eclipse会报错。

解决办法:

Eclipse软件,Windows-Preferences-Java-Complicer-Errors/Warnings,Deprecated and restricted API-Forbidden reference 改为 Warnning。

如果还是报错,在工程上build path,先移除JRE System Library,然后再添加JRE System Library。

java如何将连续的字节数据转成图片数据?

java是可以将图片字节转成图片的,但是你需要知道接受的数据对应一个图片有多长,可以在每个图片数据包前面加上此次图片的长度,按长度截取字节,转成图片,或者直接将字节转成视频,毕竟你是连续的图像

java怎么把16进制的串另存为图片?

public class Hex2Image {

public static void main(String[] args) throws Exception {

Hex2Image to=new Hex2Image();

InputStream is=new FileInputStream(“c:/work/today.txt”);

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

String str = null;

StringBuilder sb = new StringBuilder();

while ((str = br.readLine()) != null) {

System.out.println(str);

sb.append(str);

}

to.saveToImgFile(sb.toString().toUpperCase(),”c:/work/dd.jpg”);

}

public void saveToImgFile(String src,String output){

if(src==null||src.length()==0){

return;

}

try{

FileOutputStream out = new FileOutputStream(new File(output));

byte[] bytes = src.getBytes();

for(int i=0;i bytes.length;i+=2){

out.write(charToInt(bytes[i])*16+charToInt(bytes[i+1]));

}

out.close();

}catch(Exception e){

e.printStackTrace();

}

}

private int charToInt(byte ch){

int val = 0;

if(ch=0x30ch=0x39){

val=ch-0x30;

}else if(ch=0x41ch=0x46){

val=ch-0x41+10;

}

return val;

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 17:44:24
下一篇 2024年3月27日 17:51:41

相关推荐

  • excel选定图片对象,excel对象图标图片

    excel如何全选图片 1、全选图片打开EXCEL表格,在键盘上按下“ALT+A”,全选所有的图片。调大图片点击任意一个图片选择框上四个角落的小圆圈,往外拉动鼠标,所有的图片统一调大。 2、按住 Alt 键,再单击图片。也可以右击图片,然后在图片外空白区单击一下。在选中任一幅图片之后,按下组合键“Ctrl + A”,即可选中所有图片了。“Ctrl + A”,…

    2024年5月23日
    4600
  • c语言如何将16进制转换为10进制,c语言16进制转换成10进制

    c语言16进制转换为10进制数的函数是什么? 这个函数的int HtoD(char *a);就是将16进制的数用字符数组保存,把数组首地址作为参数传递给函数,函数返回转换后的10进制整型数值。详细说明,我写在备注里了,你看以参考。 )函数和printf()函数进行格式转换,以16进制格式输入,再以10进制格式输出。 首先,打开C语言编译器,新建一个初始.cp…

    2024年5月23日
    3700
  • 黑客技术学习图片转文字,黑客图片 专用

    最近有什么好看的小说 最近好看的小说有:《大奉打更人》、《诡秘之主》、《万族之劫》、《我师兄实在太稳健了》、《全球高武》等。《大奉打更人》简介:这个世界,有儒;有道;有佛;有妖;有术士。 《灿烂千阳》《追风筝的人》的作者的第二本小说,关于不可宽恕的时代,不可能的友谊以及不可毁灭的爱。 《我在精神病院学斩神》作者:三九音域 这本书最近真的太火了,一句“前方华夏…

    2024年5月23日
    3900
  • javaint转换number,javaint转换成char

    java中把若干的数字转换为整型数组,用Scanner扫描了数字输入后怎么转换… 用while循环判断输入的元素是不是0,大于0则存入数组中;0则跳出while循环。然后再将数组逆序输出一遍就好了。打完收工。思路:(while n0 ){ 存入数组 } syso数组元素和数组大小。 在程序窗口空白处,点击右键,选择Run As ——Java Ap…

    2024年5月23日
    3800
  • 有关网络安全的知识及图片,有关网络安全的知识及图片大全

    网络安全宣传知识内容 网络安全知识内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 网络安全宣传标语 网络安全为人民,网络安全靠人民。没有网络安全,就…

    2024年5月23日
    3500
  • javascript代码转换成c语言,js转jsc

    怎样将汇编语言转换为C语言 如果 只是简单的几行,可以把编译后的exe文件,用系统自带的debug(windows键+R打开 运行窗口 输入debug 空格 exe的路径)打开debug后,输入U可以看到几行汇编代码。 如果是VC则在编译器命令行参数再加 /FA 则会生成汇编代码。如果参数是 /FAs 则会同时将源码和汇编代码。 汇编语言到C语言,没有工具可…

    2024年5月23日
    4100
  • excel转换成pdf保留网格,excel导出pdf保留网格

    怎么将excel中的一张表格转成pdf 1、专业方法 运行SmallPDFer软件,我们可以在左侧菜单栏中点击【其它文件转PDF】菜单中,选择【Excel转PDF】功能。然后,点击软件界面中间,或者点击顶部“添加文件/文件夹”,将需要转换的Excel文件添加到软件当中。 2、excel怎么转换成pdf格式:运行电脑上安装的迅捷PDF转换成word转换器,进入…

    2024年5月23日
    4800
  • 网络安全宣传小知识图片,网络安全100个小知识

    网络安全的手抄报内容 1、充分利用网络便捷之利,坚决抵制网络低俗之风。网络提高知识的速度,文明提高生活的质量。尽网安之责,享网络之便。聚网络文明之风,传文明网络之行。网络安全同担,网络生活共享。 2、网络安全的手抄报内容如下:筑牢网络安全基石,成就网络强国梦想。网络社会法治社会,网络空间网警保卫。切实增强网络安全意识,共同提高识骗防骗能力。网络安全同担,网络…

    2024年5月23日
    4000
  • 女黑客学习励志图片,女黑客的头像

    一天内瘫痪3500台电脑,被罚3.5万美元,这名女黑客是什么来历呢?_百度… 当然这一次黑客事件也引发了轩然大波,导致芝加哥商品交易所单日集体恐慌式下跌。 Morris现在担任麻省理工电脑科学和人工智能实验室的教授,其研究方向是电脑网络的架构。 黑客原意是指用斧头砍柴的工人,最早被引进计算机圈则可追溯自1960年代。 通过电脑病毒甚至可以对核电站…

    2024年5月23日
    3500
  • 找黑客学习图片漫画,漫画黑客图片头像

    黑客初学者怎样入门 成为黑客的基础入门需要学习计算机编程、网络技术、操作系统、加密技术等相关知识。同时,需要具备好奇心、探索精神和解决问题的能力。想成为黑客,需要首先熟练掌握一种或多种编程语言,如Python、Java等。 对于零基础的朋友第一步要做的是掌握web前后端基础和服务器通讯原理,前后端包括h5,js,PHP,sql等等。 学习密码技术 作为一名优…

    2024年5月22日
    3600

发表回复

登录后才能评论



关注微信