首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi、QR、WMF

Delphi、QR、WMF
EN

Stack Overflow用户
提问于 2012-06-12 23:14:36
回答 1查看 361关注 0票数 0

我得到了一份“新工作”,用QR过滤器来“存档”一些数据。

当数据结构修改并保存到数据库中时,我们使用WMF filter开始“静默打印”,我捕获文件,并将它们全部存储在日志记录中,存储在database BLOB中。

一切都很好,但后来需要它们来避免重复相同的报告。

我们禁用了“时间戳QR字段”,但记录重复。

我在数据库中放入了一些CRC,并从页面数据(WMF)中计算出它。

有趣的是,当我退出程序时,新生成的WMF发生了变化-因此CRC也发生了变化。

我认为这是由QR引起的,然后我用一个简单的Delphi程序检查了一下:

代码语言:javascript
复制
procedure TForm1.BitBtn1Click(Sender: TObject);
var
    WMF : TMetaFile;
    mfc : TMetaFileCanvas;
begin
    WMF := TMetaFile.Create;
    mfc := TMetaFileCanvas.Create(WMF, 0);
    try
        WMF.Width := 1000;
        WMF.Height := 1000;
        mfc.Brush.Color := clRed;
        mfc.FillRect(Rect(0, 0, 100, 100));
    finally
        mfc.Free;
        WMF.SaveToFile('test1.wmf');
        WMF.Free;
    end;
end;

当我重新启动应用程序时,新的wmf文件与以前的不同。

我认为我解决了问题与拉伸的wmf到bmp.Canvas,但这已经减慢了日志记录,因为每个bmp是4MB的,并与10页我必须在4*10MB的循环冗余校验…( WMF每页只有85-100 KByte,而位图只有4MB)

所以我正在寻找一些简单的方法,我可以在WMF上计算CRC,也许如果我可以完全拆分WMF报头,那么我就解决了这个问题…我不知道在这一刻。

你有什么想法吗?请让我知道!

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 05:45:33

将报告导出为文本,然后比较其crc。

这是最简单的解决方案。

您也可以枚举元文件元素,但这会更加困难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10999623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档