12.6.3 图形用户界面设计
下面就来编程实现基于上述算法的数字图像隐藏程序。以MagicHouse为基础进行开发。打开MagicHouse项目,并在其中添加一个对话框,如图12-29所示,该对话框将集图像的隐藏和恢复功能于一体。主程序菜单栏中的不同菜单项在调用该对话框时,通过传递一个布尔值来判断此时应选择启动隐藏处理过程还是恢复过程。当用户选择要将目标图像藏匿到模板图像时,首先通过MagicHouse的主程序打开模板图像,然后通过选择对应的菜单项启动该对话框。单击界面上的"打开"按钮,选择待隐藏的目标图像。Image X和Image Y用以选择目标图像在模板图像中的藏匿起始点。"图像宽度"和"图像高度"文本框此时是不可用的,其他参数用来作为加密密钥。当用户要从密图中解析出隐匿的信息时,同样要首先通过MagicHouse的主程序打开模板图像,然后通过选择对应的菜单项启动该对话框。单击界面上的"打开"按钮,选择的将是含有隐藏信息的密图。此时需要用户手动输入要解析的目标图像的宽度和高度,这决定了最终得到的结果图像的大小。其他输入项是作为解密密钥来使用的。
