怎样用字节数组在本地文件系统生成图像

LlitsDnats 2010-02-23 05:54:26
怎样用字节数组在本地文件系统生成图像
...全文
161 5 打赏 收藏 转发到动态 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
focusforce 2010-02-23
  • 打赏
  • 举报
回复
偶用的BASE64Decoder,编码成String,是可以的。
InputStream is;
try
{
is = new FileInputStream(file);
int len = is.available();
byte[] b = new byte[len];
is.read(b, 0, len);

BASE64Encoder encoder = new BASE64Encoder();
String s = encoder.encode(b);
}
catch (Exception ex)
{
}


BASE64Decoder decoder = new BASE64Decoder();
byte[] b2;
try
{
b2 = decoder.decodeBuffer(new String(c.getLogo()));
。。。
}
catch (IOException e)
{
}

检查下是不是jdbc操作写的不对。
LlitsDnats 2010-02-23
  • 打赏
  • 举报
回复
我现在的情况是把图片转成字节数组存放到数据库,然后现在是把数组读出来想把图片还原保存在本地,我现在图片是生成了,不过跟原来的不一样
focusforce 2010-02-23
  • 打赏
  • 举报
回复
貌似需要先通过文件头读取文件格式,再存成图片文件就比较简单了,把内容往文件写。
knightzhuwei 2010-02-23
  • 打赏
  • 举报
回复
手边有个例子 你可以看看 不过不是字节数组 不过可以转换为字节数组
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class Demo {

public static void main(String[] args) {
int w=400;
BufferedImage im=new BufferedImage(w, w, BufferedImage.TYPE_INT_ARGB);
for(int i=0;i<w;i++){
for(int j=0;j<w;j++){
int r=(int)(i*i+2*i*j+j*j)%256;
int g=(int)(i*i+1.8*i*j+j*j)%256;
int b=(int)(i*i+2.2*i*j+j*j)%256;
int rgb=(r<<16)+(g<<8)+(b)+(0xff000000);
//System.out.println(Integer.toHexString(rgb));
im.setRGB(i, j, rgb);
}
}
File f=new File("D:/test.png");
try {
ImageIO.write(im, "png",f);
im.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
小贝壳666 2010-02-23
  • 打赏
  • 举报
回复
准备工作
先以流的方式读图像,读完后放到字节数组中,多读一些以备可以生成不同的图像


生成图像
从字节数组中输出流,以图像形式保存到本地。
相关推荐
【为什么要学习Numpy】NumPy是Python语言的一个扩展程序库。支持多维数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy是人工智能、数据分析从业者必备的知识和技能,也是学习后续Python扩展库(Matplotlib, SciPy, Pandas, Seaborn, Scikit-image等)的基础。【推荐你学习这门课的理由】(1)图文并茂:课程采用Jupyter Notebook讲解,图文并茂,讲述与Numpy代码对应。其文件将分享给学员,可作为交互式电子书使用。(2)案例丰富: 每个知识点均有Numpy代码示例说明;难点使用图解说明和讲述。另提供Numpy项目实战案例-鸢尾花数据集上的数据分析与计算。(3)内容全面系统:涵盖了Numpy的基础用法和高级用法,包括:ndarray、创建数组、复制数组数组访问、数组运算、数组操作、迭代数组、maskedarray、结构化数组、通用函数、数学函数、统计函数、排序函数、条件查找、随机数、字节交换、线性代数、数据文件读写等。   玩转是一种境界,显示了对该领域有很大的兴趣,并非常了解和能娴熟使用。希望本课程能帮助大家玩转Numpy!【优惠说明】 课程正在优惠中! 备注:购课后可加入白勇老师课程学习交流QQ群:957519975【相关课程】《玩转Matplotlib数据绘图库》课程链接:https://edu.csdn.net/course/detail/28720 《Python编程的术与道:Python语言入门》课程链接: https://edu.csdn.net/course/detail/27845  《Python编程的术与道:Python语言进阶》课程链接: https://edu.csdn.net/course/detail/28618 【课程体系结构图】  

62,568

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告