数据文件转PNG图片程序

做了一段手机游戏移植。有时候碰到游戏的资源文件被做成一个数据文件。想提出来很费事,所以自己写了一个程序来处理。方法就是自定义几个字节。与PNG格式的图片字节相匹配。这样把PNG图片信息提出来

-----------------------------------------------------------------------------------------------------------------------------------------

/*
*数据文件转png图片程序
*@author k7sem
*05年10月12日修改
*/
import java.io.*;

class transfer
{
 byte a1 = (byte)0x89; //定义PNG文件头部的匹配参数
 byte a2 = (byte)0x50;
 byte a3 = (byte)0x4e;
 byte a4 = (byte)0x47;
 byte a5 = (byte)0x0d;
 byte a6 = (byte)0x0a;
 byte a7 = (byte)0x1a;
 byte a8 = (byte)0x0a;
 //------------png file end--------------//png文件尾
 byte e1 = (byte)0x49;
 byte e2 = (byte)0x45;
 byte e3 = (byte)0x4e;
 byte e4 = (byte)0x44;
 byte e5 = (byte)0xae;
 byte e6 = (byte)0x42;
 byte e7 = (byte)0x60;
 byte e8 = (byte)0x82;
 //--------------------------------------

 transfer() //transfer的构造
 {
 }
 //从屏幕中输入要转换的文件路径
 public String in()//Type a file path and return the path as a String
 {
  System.out.println("Please type the file path:");
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  String ss="";
  try{
   ss = br.readLine();
  }catch(Exception e){
   e.printStackTrace();
  }
  return ss;

 }
 //读取文件路径,进行算法分析,从新写入新文件
 public void readFile(String s)//use the file path to contruct a method which is solve the byte of this file and return a byte array
 {
  byte[] b= new  byte[650000]; //定义存放被处理文件的字节数组,一定要比被处理的文件实际大小要大
  int i = 0; //返回具体读到了多少个字节
  
  try
  {
  FileInputStream fs = new FileInputStream(new File(s)); //用文件路径 构造一个文件流
  i = fs.read(b); //将读到的byte放入 b的数组中,返回实际读到数i
  if(i != -1)  //判断文件是否为空 
   {
   System.out.println("The file size is "+i+" byte");   
   }else
   {
    System.out.println("The file is empty ");
   }
  
  }catch(Exception e){
   e.printStackTrace();

  }
  
  int h = 0;
  boolean head = true;
  boolean f = false; //保证每次只查找一次文件尾 
  int y = 0;  //存放文件byte的长度
  int headbyte=0;
  for(int j=0;j<i;j++) //对所有byte遍历
  {
   
   
   if((a1 == b[j])&&(a2 == b[j+1])&&(a3 == b[j+2])&&(a4 == b[j+3])&&(a5 == b[j+4])&&(a6 == b[j+5])&&(a7 == b[j+6])&&(a8 == b[j+7])) // 判断前8个字节是否为png头部信息
   {
    if(head) //判断第一个PNG文件从什么位置开始
    {
     head = false;
     headbyte = j;
    }
    
   
    for(int z=j;z<i;z++) //对所有byte遍历
    {
     
     if(!f)
     {
      
      if((e1==b[z])&&(e2==b[z+1])&&(e3==b[z+2])&&(e4==b[z+3])&&(e5==b[z+4])&&(e6==b[z+5])&&(e7==b[z+6])&&(e8==b[z+7]))//判断后8个字节是否为文件尾
      {
       y = z-j+headbyte;//满足条件后 将文件尾位置减掉文件头位置再减掉 头部信息位数 所得长度
             
       f=true;      
              
       try
       {
             
       FileOutputStream fos = new FileOutputStream(new File(".",h+".png"));
       fos.write(b,j,y);
                
       h++;
      
       }catch (Exception e){}
       
       
      }
      
     }
    
    }
   
    f=false;    
     
  }   
   
  }
  System.out.println(h+" files has transfer successful!!");//打印出实际转换了多少个PNG文件
  
 }
 public static void main(String[] args)
 {
  transfer ui = new transfer();//产生transfer 对象
  ui.readFile(ui.in()); //执行读取文件的方法
  
 }
}

----------------------------------------------------------------------------------------------------------------------

做单片机嵌入式开发,数组C语言形式的图片,后缀如.c、.h的文件,用python读取显示并还原保存成普通图片格式文件,各种网络都搜不到这样的转换程序 做单片机嵌入式开发时,用python还原.c或.h文件中像素数组图片中的图像,并保存成图片。 阅读详情

相关推荐

Windows本地PDF转高清图工具,免安装双击即用,支持批量导出JPG/PNG

一款专为Windows设计的便携式PDF转图片工具,全程离线运行,不联网、不上传任何文件,保障隐私安全。适合处理扫描件、合同、发票、报表等文字不可复制的PDF文档。直接双击PDFToImage.exe启动,界面极简,无需安装配置。支持按页码范围提取、自定义DPI分辨率(最高600dpi)、选择输出格式(JPG或PNG)、指定保存路径。内置多张操作示意图(using1_1.jpg至using4_1.jpg)和效果对比图(effectpic1.jpg、effectpic2.jpg),直观展示清晰度差异。核心转换

jj890的博客 425

如何转换图片格式为png?图片格式如何进行转换?

好了,以上就是小编给大家整理的如何将图片转换成png格式的全部内容了,在处理完后,我们还可以将图片进行压缩。的时候该选择哪种工具来进行图片转换格式呢?2、上传图片,选择想要转换的图片格式为png,开始转换。1、进入压缩图后,选择图片转格式。

m0_71314894的博客 577

40-基于STM32与LD3320的智能语音调光台灯开发全攻略(代码+硬件+调试心得)

本文详细介绍了基于STM32与LD3320的智能语音调光台灯开发全攻略,包括硬件设计、软件实现和调试心得。项目利用STM32单片机控制LD3320语音识别模块,实现语音控制开关和PWM调光功能,适合非接触式操作场景。文章还分享了硬件选型、PWM调光算法优化及常见问题解决方案,为开发者提供完整参考。

weixin_29163797的博客 325

data:image图片转png与jpg,png转data:image格式。

data:image格式与png或jpg图片格式如何相互转换?高告诉你一个超级简单的方法。新建一个html文件,把data:image内容写到html的img标签中保存

程序员 4290

Deepface实战避坑:人脸识别模型VGG-Face、Facenet、ArcFace怎么选?附各模型性能与速度实测对比

本文深入对比了DeepFace框架中VGG-Face、Facenet和ArcFace三种主流人脸识别模型的性能与适用场景,提供了详细的实测数据和选型建议。通过分析各模型在CPU/GPU环境下的推理速度、内存占用和准确率表现,帮助开发者根据实际需求(如门禁系统、相册分类或视频流分析)选择最优模型,并给出工程化部署的避坑指南和优化技巧。

weixin_42625070的博客 305

Zemax光机热集成分析:从FEA数据导入到光学性能评估实战

在精密光学系统设计中,环境温度变化和机械应力是导致像质恶化的关键因素,这涉及到光、机、热多物理场的耦合分析。其核心原理在于,通过有限元分析(FEA)软件(如ANSYS)模拟热与力学载荷下的结构变形和温度分布,并将这些物理场数据精准映射到光学设计软件(如Zemax)中,以评估其对调制传递函数(MTF)、点列图等核心光学指标的影响。这项技术的工程价值在于,它使设计从静态的理想模型跃升至动态的工程现实,能够在设计阶段就预测并补偿环境扰动,从而显著提升光学系统在航空航天、车载镜头、高功率激光等严苛工况下的可靠性与稳

weixin_30565327的博客 356

C语言实现8bit raw data转换为png

实现代码如下 #include <dirent.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include "svpng.h" static int g_image_width = 0; static int g_image_height = 0; /* 寻找文件路径中最后的 / */ int last_mark(char

哈哈一笑 1598

envi5.3处理高分二号影像数据详细过程记录

全文根据此篇文章进行数据处理: tm影像辐射定标_高分二号影像数据预处理及裁剪过程 其他参考: 学习笔记---遥感影像辐射定标与大气校正 利用ENVI自带全球DEM数据计算区域平均高程 高分二号数据处理流程(有高分二号的数据信息) GF2有多光谱和全色两个数据,MSS是多光谱的,PAN是全色的,多光谱的分辨率低,全色的高,需要把这两个数据融合,融合之前需要做定标等处理,获取经纬度。 一、多光谱影像处理 1. 辐射定标 以这个为例: 其他路径\2022.4.2...

ligous的博客 5万+

Png文件的流读取写出

package lab.sodino.PngTest;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;impo

Sodino的专栏 4299

MIT IDSS深度解析:跨学科融合与系统科学实践

麻省理工学院的IDSS(Institute for Data, Systems, and Society, IDSS)是一个致力于通过先进分析方法推动教育与研究的前沿机构。它将工程学、信息科学和数据科学的方法与社会科学的分析方法相结合,以应对复杂的社会挑战。

AllenLV的博客 2088

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

终极指南:如何使用MPAndroidChart轻松导出图表为PNG图片与CSV数据文件

MPAndroidChart是一个功能强大的Android图表库,支持折线图、柱状图、饼图等多种图表类型,并提供丰富的交互和动画效果。本文将详细介绍如何使用MPAndroidChart将图表数据导出为PNG图片和CSV文件,帮助开发者轻松实现数据可视化与分享功能。 ## 为什么需要导出图表数据? 在移动应用开发中,将图表数据导出为图片或文件具有重要意义: - **数据分享**:用户可以将图表结

gitblog_00829的博客 1162

还原 Windows 环境变量的默认值

有时候,我们可能需要还原环境变量的默认值,以修复可能的配置问题或恢复系统的正常运行。如果您只想还原某个特定的环境变量,可以跳过删除其他变量的步骤,仅删除需要还原的变量即可。在“环境变量”对话框中,继续向下滚动到“系统变量”部分。请注意,在执行以下步骤之前,您应该备份当前的环境变量设置,以便在需要时可以还原。在删除所有需要还原的环境变量后,点击“确定”按钮关闭“环境变量”对话框。在“用户变量”部分,选择需要还原的变量,然后点击“删除”按钮。在“高级”选项卡下方的“环境变量”部分,点击“环境变量”按钮。

PvDeveloper的博客 6342

Android etc1tool之png图片转换pkm 和 zipalign简介

关于作者:优快云内容合伙人、技术专家, 从零开始做日活千万级APP。专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

fumeidonga的博客 2781

3D高斯压缩黑科技开源!1GB场景压到42MB,Web3D迎来“WebP时刻”——SOG格式深度解析

Web3D迎来革命性突破!PlayCanvas开源全新3D高斯泼溅压缩格式SOG,将1GB场景压缩至仅42MB,体积缩小95%,加载速度提升10倍+。SOG通过将3D数据编码为WebP纹理+元数据,实现GPU零拷贝实时渲染,完美兼容WebGL/WebGPU。实测显示,4百万高斯点的场景在手机上1.5秒内完成加载,内存占用降低83%。这一技术突破为电商展示、虚拟旅游、工业设计等领域带来新机遇,开发者可通过开源工具链快速集成。SOG被誉为"3D界的WebP",有望成为下一代3D互联网的基础设

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 867

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

scala 读雷达数据文件,生成png

使用scala语言,从雷达文件中读取二维矩阵,并将矩阵保存成png 代码如下:

shenlanzifa的专栏 1548

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python批量打印图片_iData批量将图形打印成png图片

iData数据工厂是南方数码研发的一个集测绘数据采编成图、数据入库、产品制作和生产任务管理于一体的拥有自主产权的一体化地理信息数据处理平台。新一代一体化测绘数据生产平台,能够实现数据采集、数据编辑、数据入库、数据质检、生产任务管理,3D测图等多种功能。支持对 CAD 系统( AutoCAD 、 MicroStation )数据的直接编辑和转换分发和打开,数据处理平台以ArcGIS 的原生...

weixin_31124163的博客 506

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

一步一步教你用 Pdf.js 把 PDF 变成 PNG 图像

Pdf.js 就像是一个 PDF 阅读器,但它不需要你安装任何插件,只要有浏览器就可以直接运行。它是 Mozilla(也就是 Firefox 浏览器的作者)开源的一个项目,目的是让开发者能够在网页上方便地展示 PDF 文件。而且,Pdf.js 还能将 PDF 文件的每一页渲染成图像,今天我们要做的就是把 PDF 转成 PNG 格式的图片,操作起来简单方便。是 JavaScript 中的一种类型化数组(TypedArray),专门用于存储和操作 8 位无符号整数的数组。

Bruce__taotao的博客 3504

png图片结构

png-8为用8位索引值在调色盘索引颜色,故调色盘颜色最多为128中。 png-8由六块组成: 1.png文件标志,固定64字节:0x89504e47 0x0d0a1a0a 2.文件头数据块IHDR 3.调色板数据块PLTE 4.sBIT,tRNS块 5.图像数据块IDAT 6.图像结束数据IEND,固定96字节:0x00000000 0x49454e44 0xae426082 除了PNG文件标志,其中四大数据块和文件尾都是由统一数据文件结构描述: Chunk Length:4byte Chunk Type

Mhypnos的博客 663

tweetable-polyglot-png终极指南:如何在Twitter图片中隐藏3MB秘密数据

tweetable-polyglot-png是一个创新工具,能帮助用户将高达3MB的数据打包到一个可在Twitter上分享的PNG多语言文件中。通过这项技术,你可以在看似普通的图片中隐藏各种文件,实现秘密数据的传输与分享。 ## 什么是tweetable-polyglot-png? tweetable-polyglot-png是一个巧妙的工具,它利用了Twitter对PNG图片处理的特性,允许

gitblog_00485的博客 1069

【免费下载】 dat文件免费批量转图片工具

dat文件免费批量转图片工具 【下载地址】dat文件免费批量转图片工具 本仓库提供了一个免费的工具,用于批量将dat文件转换为图片文件。无论您是遇到dat文件无法打开的问题,还是需要将dat文件转换为常见的图片格式,本工具都能帮助您轻松解决 ...

gitblog_09744的博客 1122

R语言如何单独保存输出图片文件

前言:记得设置图片的保存工作路径,即数据文件路径:setwd(“C:\Users\TDL\Desktop\test.picture”) 1.图片文件保存输出 jpeg(file = "style.jpg") plot(iris[,1],col="red") ## 画图程序 dev.off(); 2.图片尺寸调整输出 p.picture=paste(a,"test.jpg") jpeg(p.pi...

dltan 7万+

ArcGIS Server导入已有PNG格式瓦片

ArcGIS Server导入已有PNG格式瓦片 使用环境ArcGIS 10.2 ArcGIS Server 10.2 建议:有时候ArcGIS Server响应速度较慢,建议在操作之前先在任务管理器,服务里面,重新启动ArcGIS Server的服务。

GISer-L的博客 1万+

Python实战:3步搞定MNIST数据集转PNG图片(附完整代码)

本文提供了将MNIST数据集从二进制格式转换为PNG图片的完整Python实战指南。通过解析IDX文件结构、处理字节序,并利用NumPy和Pillow库,详细演示了如何三步完成数据解析与图片保存,帮助读者深入理解数据集底层格式,便于后续的可视化与模型训练。

game4的博客 481

C语言ImageConverter565图片转换工具

C语言ImageConverter565图片转换工具 【下载地址】C语言ImageConverter565图片转换工具 ImageConverter565是一款高效的C语言图片转换工具,专为嵌入式系统设计。它能够将常见的PNG、JPEG等图片格式转换为565颜色格式的图像数据,广泛应用于显示设备开发。通过简单几步操作,您...

gitblog_06726的博客 964
上一篇: J2ME技术入门之二——J2ME开发环境的安装和使用
下一篇: 趣味小程序
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值