为了孩子啊,其实我真的不想的,呵呵。
光影魔术手除了基本的照片编辑功能,还有一个套模的强大功能,个人能力有限,不能产生创造,所以只能抄袭,但是模板大都是6寸的,所以需要后期编辑,但是光影并未提供打开现有的模板的功能,所以只好自己分析了。
以下只针对我所需要的多图边框,对于花边和其他的边框,不做讨论,都大致看了一下,相差不大。
从NF3格式来看,基本分成三个区
- 文件头(nEOiMAGING Multi Frame)
- 文件基础信息(未分析)
- 多图的边框区间
- 原始的背景图片
注意,
- NF3的文件中没有文件结束标志
- 原始图片保存的位置是固定的
- 原始图片保存的类型是没有变化的,所以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();