为了孩子啊,其实我真的不想的,呵呵。

光影魔术手除了基本的照片编辑功能,还有一个套模的强大功能,个人能力有限,不能产生创造,所以只能抄袭,但是模板大都是6寸的,所以需要后期编辑,但是光影并未提供打开现有的模板的功能,所以只好自己分析了。

以下只针对我所需要的多图边框,对于花边和其他的边框,不做讨论,都大致看了一下,相差不大。

从NF3格式来看,基本分成三个区

  • 文件头(nEOiMAGING Multi Frame)
  • 文件基础信息(未分析)
  • 多图的边框区间
  • 原始的背景图片

注意,

  1. NF3的文件中没有文件结束标志
  2. 原始图片保存的位置是固定的
  3. 原始图片保存的类型是没有变化的,所以PNG保存为PNG,JPEG还是JPEG

OK,很简单,从NF3的文件的开始位置偏移 0x19A78 就是原始图片的开始位置,从这个位置开始到文件结束,都是原始文件的数据。

以下是一个简单的程序,可以抽取这段数据,注意

  • 出于对作者的尊重,我不会放编译好的东西上来,毕竟那些模板的作者的辛苦不是我能想象的,尊重他们的劳动成果。
  • 代码只是伪代码,不能正确执行,自己看着办吧
  • 代码中没有对图片类型进行判断,自己看着办吧。哈哈
  • 我不会在光影的论坛上发这个东西,也不会更新这篇BLOG去分析多图边框的边框位置等等,或言之,我不会发破解NF3的程序上来。

以下是代码片段

System.IO.Stream s = System.IO.File.OpenRead(strNF3FileName);
s.Seek(0x19A78, System.IO.SeekOrigin.Begin);
System.IO.Stream w = System.IO.File.OpenWrite(strDestFileName);
byte[] buf=new byte[4096];
int n=0;
while((n=s.Read(buf,0,buf.Length))>0)
{
    w.Write(buf, 0, n);
}
w.Flush();
s.Close();
w.Close();


Jeason Zhao (沈胜衣,斛律光) ------雪饮再现,一个人的江湖
我知道我是谁,我是沈胜衣,默默的活着,就像空气。