2009-12-01 50 views
0

我創建在ASP.NET web應用程序像這樣的: http://www.zazzle.com/cr/design/pt-mug包裝圖像周圍物體在web應用程序

我知道該怎麼做的一切,除了物體周圍包裹的圖像。 這將是一個簡單的任務,如果我只需要在另一個上面堆疊一個圖像(如果它們是平的),但如果它是圓形物體,因爲這個杯子是 ,這有點棘手。我的第一個猜測是爲GDI +創建某種算法,它將模擬圍繞一個對象的「包裝」圖像(實際上它不是一個3d對象,它只是它的截圖)。

我認爲這將是原始的方法,它會導致質量非常差,如果我能使它工作, 。

所以,我的第二個猜測是實現一些3d渲染器,我會給 給一個物體的圖像映射,它會將該圖像渲染到物體上,並實時返回給我渲染的圖像。這是可行的嗎? 還有別的辦法嗎?我從哪說起呢?

回答

1

如果您願意嘗試商業產品,我公司將爲.NET創建一個名爲DotImage的光柵處理SDK。如果你嘗試它,看看PolygonTransform。您提供了一個多邊形作爲點的列表,並且該類會扭曲圖像以適應多邊形的內部。如果您需要示例代碼,請告訴我。

+0

非常感謝。我會研究它,讓你知道:) – ttkalec 2009-12-03 17:29:24

+0

我看了一下你的軟件,我還沒有找到這個PolygonTransform函數。我也在Atalsoft網站上查看過文檔,並且什麼也沒找到,所以如果你能指導我一點或者給我發一些示例代碼,我將不勝感激。 – ttkalec 2009-12-06 14:00:18

+0

'PolygonTransform'在'Atalasoft.Imaging.ImageProcessing.Transforms'中。它只支持凸多邊形,但如果你使用咖啡機上的一個杯子,這將工作。如果您需要凹面多邊形,則需要分割圖像並使用四邊形彎曲。如果您聯繫我們並給我們一種方法向您發送一些代碼以開始使用,那可能會更容易。 – 2009-12-07 20:53:07

0

這可能是某種OpenGL 3D渲染,但是爲了達到這種效果,圖像很容易以純2D方式變形。水平地,它需要在杯子側面離開的地方擠壓。每列像素需要根據哪一列以不同的量進行垂直移位 - 例如,圖像的水平線會變成「U」形。使用正確的參數,這種變形可以模擬適當的3D形狀。照明效果可以適用於通過在正確的位置增亮/變暗圖像。

+0

好吧,讓我們假設它看起來不錯 我可以很容易地在Photoshop中做到這一點:) 但除了GDI +之外,還可以使用什麼樣的環境來完成此任務? GDI +似乎是一個糟糕的選擇,因爲它不是基本上爲 這種有點東西。 – ttkalec 2009-12-01 20:46:36