2009-07-16 82 views
4

我正在考虑一个个人学习项目。使用.NET(最好是VB)我想构建一个简单的桌面应用程序,它只能显示漫画,如CDisplay,但具有更高级的导航功能。我希望能够通过点击图像的某些区域(例如单个面板)进行放大,并使缩放区域自动对齐面板并将其炸毁。这些图像通常是像.JPEG,.PNG等标准格式..在.NET中的图像上自动调整缩放比例

像这样的东西是什么,我去为:http://iphonecomicbookreader.com/

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

谢谢

回答

11

你可以在.Net中完全做到这一点。这里是受了很好的概述:

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

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

实际上,您将原始图像加载到Bitmap对象中(使用内置方法)。当你想放大某些东西时,你需要定义一个Rectangle对象来描述你想放大的区域,然后使用Graphics对象的DrawImage方法来复制该区域的大小并将其重新设置为一个新的位图,然后显示给你喜欢。代码示例显示如何使用所有这些方法。

唯一相对困难的部分是自动确定每个面板的边界。如果某些面板形状不规则(如家庭马戏团,就像任何人阅读那样),或者如果漫画的扫描不完全对齐,这可能特别困难。将您的应用程序中包含原始图像的漫画与您预先定义的用于描述面板边界的区域一起使用可能会更好。

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

更新:这是一个sample app我写道,基本上显示如何使用.Net做到这一点。运行该程序,然后单击卡通中的每个面板,每个面板的放大图像将显示在下面。我会在一秒钟后发布代码。

更新2:这里是source code

更新3:这里的the original comic在上下文中。考虑这个我的致敬杰夫阿特伍德。 :)

+1

谢谢,这应该让我开始。我赞赏额外的努力。 – Dcritelli 2009-07-17 03:12:43