2011-11-02 49 views
1

我們目前在Asp.net c#中有一個網站,我們希望添加功能,我們的用戶可以上傳個人資料圖片,然後將此圖像疊加到另一個圖像中爲他們創建一個個性化的網站名片。ASP.net服務器端圖像處理庫需要疊加兩個圖像

我一直在尋找一個包來做一段時間,但無法找到一個完美的適合我們的包。我見過OpenCV和imagemagick,但他們看起來不像他們幫助。我也在尋找這個軟件包的功能,讓我們旋轉和傾斜原始圖像。

任何想法或建議如何做到這一點?

在此先感謝。

+1

System.Drawing不提供具體的東西嗎?據我可以告訴它很簡單,加載你的兩個圖像(客戶源圖像,和你的「疊加圖像」)[System.Drawing.Bitmap]並將它們相互繪製,然後保存。查看:http://www.codeproject.com/KB/graphics/JoinImages.aspx這是一個很好的一步一步。 –

回答

1

順便說一句,我前一段時間寫了一個類似的庫,你可以在CodeCanyon上找到它(ImageHandler)。

看看演示頁面,我認爲你想要的功能應該是水印。

請記住,該組件帶出了一個核心庫,一個httphandler,一個mvc3 htmlhelper和一個webforms自定義控件。甚至可以在非web環境中使用核心庫。

0

System.Drawing是一個不錯的選擇,但要注意,雖然它在大多數情況下可以在服務器端應用程序上運行,但它不受Microsoft支持。我們已經在那裏我們得到下面的異常長時間使用後許多問題:

Win32Exception: The operation completed successfully 
at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks) 
at System.Windows.Media.MediaContextNotificationWindow..ctor(MediaContext ownerMediaContext) 
at System.Windows.Media.MediaContext..ctor(Dispatcher dispatcher) 

在.NET 2.0/3.5,我們還看到了在Media.Brush構造一個類似的例外。

我們發現這可以通過產生一個'STA'線程並調用所有這樣的UI請求到該線程來避免。在我們的例子中,一個線程似乎很多,所以我們沒有嘗試過多個STA線程。似乎需要使用STA線程來避免上述負載情況下的異常情況。