I have a web application that allows users to edit photos such as zoom, crop, adjust brightness, contrast, and gamma.
The user interface is a Silverlight application that loads the user's photo and we have all that functionality working. However, we don't have a way to save the image back to the server so we're passing the values back and then re-applying ht enhancements
on the server using the System.Drawing classes. The problem we're seeing is that when they adjust brightness, contrast, and gamma, the resulting image on the server doesn't look exactly like what was shown in the Silverlight app.
We've spent a coupld of weeks looking into this and we can't get them to match. The Silverlight applicaiton uses effects filters and the algorithm is very different than what is happening on the server, which uses ColorMatrixes for adjusting the brightness
and constrast. From my research, using a ColorMatrix is the preferred way of doing it.
Ideally I'd like to use the same code base in both places but our Silverlight expert says that isn't possible. Therefore, I need to know if there is an algorithm that will work in both places, or if there is a 3rd-party product that can accomplish this.
I know it's a stretch but I'm really hoping that someone may know something about this. Maybe DirectX? I've never used that...
desertfoxaz
Member
307 Points
358 Posts
Adjusting brightness, constrast and gamma
Feb 04, 2011 09:45 PM|LINK
I have a web application that allows users to edit photos such as zoom, crop, adjust brightness, contrast, and gamma.
The user interface is a Silverlight application that loads the user's photo and we have all that functionality working. However, we don't have a way to save the image back to the server so we're passing the values back and then re-applying ht enhancements on the server using the System.Drawing classes. The problem we're seeing is that when they adjust brightness, contrast, and gamma, the resulting image on the server doesn't look exactly like what was shown in the Silverlight app.
We've spent a coupld of weeks looking into this and we can't get them to match. The Silverlight applicaiton uses effects filters and the algorithm is very different than what is happening on the server, which uses ColorMatrixes for adjusting the brightness and constrast. From my research, using a ColorMatrix is the preferred way of doing it.
Ideally I'd like to use the same code base in both places but our Silverlight expert says that isn't possible. Therefore, I need to know if there is an algorithm that will work in both places, or if there is a 3rd-party product that can accomplish this. I know it's a stretch but I'm really hoping that someone may know something about this. Maybe DirectX? I've never used that...