php 如何将图片转换成java中Byte[]的 20

php如何将图片转换成java中Byte[]的file_get_content()是不行的... php 如何将图片转换成java中Byte[]的 file_get_content() 是不行的 展开
 我来答
智者总要千虑
高粉答主

2019-09-18 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部

按照你的要求编写的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();  } }}

   

运行结果:

图片输出完毕!

原图:           

输出图:

笔下绘梦
2019-09-18 · TA获得超过141个赞
知道小有建树答主
回答量:167
采纳率:72%
帮助的人:29万
展开全部
file_get_content取得是这个文件内容,你这样只会取出来乱码,你如果是想要将图片转为文本格式便于存储的话可以使用下面的函数

fread读取图片内容,读出内容后base64_encode转换为base64用于存储
用base64_decode重新转换为图片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式