aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Environment/Modules/Scripting/LoadImageURL/LoadImageURLModule.cs73
1 files changed, 40 insertions, 33 deletions
diff --git a/OpenSim/Region/Environment/Modules/Scripting/LoadImageURL/LoadImageURLModule.cs b/OpenSim/Region/Environment/Modules/Scripting/LoadImageURL/LoadImageURLModule.cs
index 339ad42..631051b 100644
--- a/OpenSim/Region/Environment/Modules/Scripting/LoadImageURL/LoadImageURLModule.cs
+++ b/OpenSim/Region/Environment/Modules/Scripting/LoadImageURL/LoadImageURLModule.cs
@@ -133,42 +133,49 @@ namespace OpenSim.Region.Environment.Modules.Scripting.LoadImageURL
133 { 133 {
134 RequestState state = (RequestState) result.AsyncState; 134 RequestState state = (RequestState) result.AsyncState;
135 WebRequest request = (WebRequest) state.Request; 135 WebRequest request = (WebRequest) state.Request;
136 HttpWebResponse response = (HttpWebResponse) request.EndGetResponse(result); 136 try
137 if (response.StatusCode == HttpStatusCode.OK)
138 { 137 {
139 Bitmap image = new Bitmap(response.GetResponseStream()); 138 HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
140 Size newsize; 139 if (response.StatusCode == HttpStatusCode.OK)
141
142 // TODO: make this a bit less hard coded
143 if ((image.Height < 64) && (image.Width < 64))
144 {
145 newsize = new Size(32, 32);
146 }
147 else if ((image.Height < 128) && (image.Width < 128))
148 {
149 newsize = new Size(64, 64);
150 }
151 else if ((image.Height < 256) && (image.Width < 256))
152 {
153 newsize = new Size(128, 128);
154 }
155 else if ((image.Height < 512 && image.Width < 512))
156 { 140 {
157 newsize = new Size(256, 256); 141 Bitmap image = new Bitmap(response.GetResponseStream());
142 Size newsize;
143
144 // TODO: make this a bit less hard coded
145 if ((image.Height < 64) && (image.Width < 64))
146 {
147 newsize = new Size(32, 32);
148 }
149 else if ((image.Height < 128) && (image.Width < 128))
150 {
151 newsize = new Size(64, 64);
152 }
153 else if ((image.Height < 256) && (image.Width < 256))
154 {
155 newsize = new Size(128, 128);
156 }
157 else if ((image.Height < 512 && image.Width < 512))
158 {
159 newsize = new Size(256, 256);
160 }
161 else if ((image.Height < 1024 && image.Width < 1024))
162 {
163 newsize = new Size(512, 512);
164 }
165 else
166 {
167 newsize = new Size(1024, 1024);
168 }
169
170 Bitmap resize = new Bitmap(image, newsize);
171 byte[] imageJ2000 = OpenJPEG.EncodeFromImage(resize, true);
172
173 m_textureManager.ReturnData(state.RequestID, imageJ2000);
158 } 174 }
159 else if ((image.Height < 1024 && image.Width < 1024)) 175 }
160 { 176 catch (WebException)
161 newsize = new Size(512, 512); 177 {
162 } 178
163 else
164 {
165 newsize = new Size(1024, 1024);
166 }
167
168 Bitmap resize = new Bitmap(image, newsize);
169 byte[] imageJ2000 = OpenJPEG.EncodeFromImage(resize, true);
170
171 m_textureManager.ReturnData(state.RequestID, imageJ2000);
172 } 179 }
173 } 180 }
174 181