
正文
图片转java代码 java实现图片转文字
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
利用java实现图片翻转的代码
重载渲染控件的paintComponent(Graphics
g)方法.
设你当前图像实例为img,已初始化,需要旋转的角度为ang
public
void
paintComponent(Graphics
g){
super.paintCompoent(g);
Graphics2D
g2d
=
(Graphics2D)g;
g2d.rotate(-angle);
g2d.drawImage(img,0,0,this.getWidth(),this.getHeight(),null);
}
Graphics,Graphics2D
类中有对当前描绘环境进行仿射变换的方法,包括translate,scale,rotate,也可以直接设置仿射变换矩阵,利用这点就可以根据所需要的实现方式来进行描绘.
相关问答
Q1: Java如何转换图片的格式
package ImageIO;import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ConvertImageFile {
public static void main(String[] args) {
BufferedImage bufferedImage; try { //1.读取图片
bufferedImage = ImageIO.read(new File("D:\\1.png")); //2.创建一个空白大小相同图片转java代码的RGB背景
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null); //3.再次写入图片转java代码的时候以jpeg图片格式
ImageIO.write(newBufferedImage, "jpg", new File("D:\\1.jpg"));
System.out.println("成功将png格式图片转换为jpg格式");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Q2: php 如何将图片转换成java中Byte[]的
按照你图片转java代码的要求编写图片转java代码的Java程序如下图片转java代码:( 要注意图片转java代码的地方见语句后面的注释)
import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ImageWithArray { public static void main(String[] args) { // 读取图片到BufferedImage BufferedImage bf = readImage("c:\\tmp\\6\\female.png");//这里写你要读取的绝对路径+文件名 // 将图片转换为二维数组 int[][] rgbArray1 = convertImageToArray(bf); // 输出图片到指定文件 writeImageFromArray("c:\\tmp\\2.png", "png", rgbArray1);//这里写你要输出的绝对路径+文件名 System.out.println("图片输出完毕!"); } public static BufferedImage readImage(String imageFile){ File file = new File(imageFile); BufferedImage bf = null; try { bf = ImageIO.read(file); } catch (IOException e) { e.printStackTrace(); } return bf; } public static int[][] convertImageToArray(BufferedImage bf) { // 获取图片宽度和高度 int width = bf.getWidth(); int height = bf.getHeight(); // 将图片sRGB数据写入一维数组 int[] data = new int[width*height]; bf.getRGB(0, 0, width, height, data, 0, width); // 将一维数组转换为为二维数组 int[][] rgbArray = new int[height][width]; for(int i = 0; i height; i++) for(int j = 0; j width; j++) rgbArray[i][j] = data[i*width + j]; return rgbArray; } public static void writeImageFromArray(String imageFile, String type, int[][] rgbArray){ // 获取数组宽度和高度 int width = rgbArray[0].length; int height = rgbArray.length; // 将二维数组转换为一维数组 int[] data = new int[width*height]; for(int i = 0; i height; i++) for(int j = 0; j width; j++) data[i*width + j] = rgbArray[i][j]; // 将数据写入BufferedImage BufferedImage bf = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); bf.setRGB(0, 0, width, height, data, 0, width); // 输出图片 try { File file= new File(imageFile); ImageIO.write((RenderedImage)bf, type, file); } catch (IOException e) { e.printStackTrace(); } }}
运行结果:
图片输出完毕!
原图:
输出图:
Q3: 从文件中读取图片和写入图片到文件里的java代码是什么?
首先导入各种需要的包:
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;
读取图片的方法如下:
Image[] array = new Image[10];
Image image = ImageIO.read(new File("d:\\source.gif"));//根据你实际情况改文件路径吧
array[0] = image;
图片读出来了。
如果你有一个Image对象,想把它写入文件可以这样做:
BufferedImage image = ImageIO.read(new File("d:\\source.gif"));
//要想保存这个对象的话你要把image声明为BufferedImage 类型
ImageIO.write(image, "png", new File("f:\\test.png"));
Q4: 怎么用JAVA写图片格式转换,可以批量转换的。
书写完毕,采纳即可。
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.InputStream;
public class YuGiOh
{
public static final String SEPARATOR = System.getProperty ("file.separator");
public static final String LINE = System.getProperty ("line.separator");
/**
* 转换之后保存的路径
*/
private static final String SAVE = "convertSuffix";
/**
* 递归读取文件夹中的特定后缀的文件
*
* @param path
* String 读取的文件夹路径
* @param suffix
* String 后缀名,|分隔
* @param newSuffix
* String 新的后缀名
*/
public static void convertSuffix ( String path, final String suffix, final String newSuffix )
{
File p = new File (path);
String name = p.getName (), regex = "(?i)([^\\.]*)\\.(" + suffix + ")";
if (p.isDirectory ())
{
p.list (new FilenameFilter ()
{
@Override
public boolean accept ( File dir, String name )
{
if (dir.isDirectory ())
{
convertSuffix (dir.getAbsolutePath () + SEPARATOR + name, suffix, newSuffix);
}
return false;
}
});
}
else if (name.matches (regex))
{
saveFiles (path, name, newSuffix);
}
}
/**
* 读取到特定的后缀,修改后缀,保存文件
*
* @param path
* String 读取的文件夹路径
* @param name
* String 特定的后缀的文件名
* @param newSuffix
* String 新的后缀名
*/
public static void saveFiles ( String path, String name, String newSuffix )
{
try
{
File fp = new File (SAVE);
if (!fp.exists ())
{
fp.mkdir ();
}
name = name.replaceAll ("([^\\.]+)(\\..*)?", "$1." + newSuffix);
InputStream is = new FileInputStream (path);
ByteArrayOutputStream baos = new ByteArrayOutputStream ();
byte[] buffer = new byte[1024];
int len = -1;
while (( len = is.read (buffer) ) != -1)
{
baos.write (buffer, 0, len);
}
baos.flush ();
baos.close ();
is.close ();
byte[] data = baos.toByteArray ();
FileOutputStream fos = new FileOutputStream (new File (SAVE + SEPARATOR + name));
fos.write (data);
fos.flush ();
fos.close ();
}
catch (Exception e)
{
e.printStackTrace ();
}
}
public static void main ( String[] args )
{
convertSuffix ("F:\\Photo\\pic", "png|jpg", "gif");
}
}
关于图片转java代码和java实现图片转文字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







