「java图片点阵」做完点阵激光图片

博主:adminadmin 2023-01-13 22:54:09 316

本篇文章给大家谈谈java图片点阵,以及做完点阵激光图片对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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 android 矩阵 怎么设置坐标

1、设置图片位置坐标

matrix.postTranslate(x,y) ——这个(x,y)为图片左上角的位置

2、设置图片图片中心点为中心旋转

matrix.postRotate(角度, x, y);——这个(x,y)为图片中心点的位置

3、渲染图片

canvas.drawBitmap( BIT , matrix , new Paint());

java 二维码 点阵 16进制

二维码就是个图片。。。

你看看java的image类, 就能获取到点阵数组了。。。

求助:java 如何获取bmp图片的点阵数据

图片文件中的数据,本身就是点阵。比如bmp格式的文件头偏移12h~15h是宽度,偏移16h~19h是高度,图像部分的数据,就是按这尺寸记录着每个像素点...。

建议装个UltraEdit工具,对文件的结构进行分析,或在网上搜搜关于图像数据结构方面的资料,自然,你就对图片的数据心中了然的了。

java图片点阵的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于做完点阵激光图片、java图片点阵的信息别忘了在本站进行查找喔。