2009-07-16 108 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