4

我正在考虑一个个人学习项目。使用 .NET(最好是 VB)我想构建一个简单的桌面应用程序,它的唯一功能是显示漫画,如 CDisplay,但具有更高级的导航。我希望能够通过单击图像的某些区域(例如单个面板)来放大,并让缩放区域自动捕捉到面板并将其放大。图像通常采用标准格式,如 .jpeg、.png 等。

像这样的东西就是我想要的:http: //iphonecomicbookreader.com/

我什至不确定这叫什么?图像映射?色调映射可能吗?是否可以在 .NET 中执行此操作,还是需要某种外部库?代码示例会很好,但显然这是一个非常模糊的要求。仅仅指向正确的方向将非常有帮助。

谢谢

4

1 回答 1

11

您可以完全在 .Net 中完成此操作。这是对该主题的出色概述:

http://www.codeproject.com/KB/books/1861004990.aspx

它是 C#,但是将这些东西翻译成 VB 真的不难。在这两种语言中,只需要创建对象和设置属性等等。

本质上,您将原始图像加载到 Bitmap 对象中(使用内置方法)。当您想要放大某物时,您定义一个 Rectangle 对象来描述您想要缩放到的区域,然后使用 Graphics 对象的 DrawImage 方法将该区域复制并调整其大小为一个新的位图,然后您可以显示像。代码示例展示了如何使用所有这些方法。

唯一相对困难的部分是自动确定每个面板的边界。如果某些面板的形状不规则(如家庭马戏团,好像有人读过它),或者漫画的扫描没有完全对齐,这可能会特别困难。最好将漫画包含在您的应用程序中,这些漫画包含原始图像以及您预定义的描述面板边界的区域。

如果您在使用示例时遇到任何问题,请在此处发布另一个问题,我(以及其他 1000 人)将很乐意提供帮助。

更新:这是我编写的一个示例应用程序,它基本上显示了如何使用 .Net 执行此操作。运行程序,然后单击卡通中的每个面板,下面将显示每个面板的放大图像。我会在一秒钟内发布它的代码。

更新 2:这里是源代码

更新 3:这是上下文中的原始漫画。认为这是我对杰夫阿特伍德的敬意。:)

于 2009-07-16T21:51:26.770 回答