| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3445d4c commit 919ae54
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1216,24 +1216,27 @@ protected virtual void GetPreview(Dataset dataset, Size size, Graphics g, | |||
| 1216 | 1216 | ||
| 1217 | 1217 | double mapPixelWidth = map.PixelWidth; | |
| 1218 | 1218 | double mapPixelHeight = map.PixelHeight; | |
| 1219 | + var envelope = map.Envelope.Intersection(envelopeInMapProjection); | ||
| 1219 | 1220 | ||
| 1220 | 1221 | for (int pixY = 0; pixY < bitmapData.Height; pixY++) | |
| 1221 | 1222 | { | |
| 1222 | 1223 | //if (pixY > 10) break; | |
| 1223 | 1224 | var rowPtr = bitmapData.Scan0 + pixY * bitmapData.Stride; | |
| 1224 | 1225 | var row = (byte*) rowPtr; | |
| 1225 | 1226 | ||
| 1226 | - double gndY = Math.Min(Envelope.MaxY, displayBbox.MaxY) - pixY * mapPixelHeight; | ||
| 1227 | - //if (gndY > map.Envelope.MaxY) continue; | ||
| 1228 | - double gndX = Math.Max(Envelope.MinX, displayBbox.MinX); | ||
| 1227 | + double gndY = envelope.MaxY - pixY * mapPixelHeight; | ||
| 1228 | + double gndX = envelope.MinX; | ||
| 1229 | 1229 | ||
| 1230 | 1230 | for (int pixX = 0; pixX < bitmap.Width; pixX++) | |
| 1231 | 1231 | { | |
| 1232 | + // remember steps based on image source projection | ||
| 1233 | + var sourceGndY = gndY; | ||
| 1234 | + var sourceGndX = gndX; | ||
| 1232 | 1235 | ||
| 1233 | 1236 | // transform ground point if needed | |
| 1234 | 1237 | if (inverseTransform != null) | |
| 1235 | 1238 | { | |
| 1236 | - double[] dblPoint = inverseTransform.Transform(new[] {gndX, gndY}); | ||
| 1239 | + double[] dblPoint = inverseTransform.Transform(new[] { sourceGndX, sourceGndY }); | ||
| 1237 | 1240 | gndX = dblPoint[0]; | |
| 1238 | 1241 | gndY = dblPoint[1]; | |
| 1239 | 1242 | } | |
@@ -1335,7 +1338,9 @@ protected virtual void GetPreview(Dataset dataset, Size size, Graphics g, | |||
| 1335 | 1338 | } | |
| 1336 | 1339 | ||
| 1337 | 1340 | Incrementation: | |
| 1338 | - gndX += mapPixelWidth; | ||
| 1341 | + // Restore layer's steps to before transformation, so steps are properly calculated in source dimensions | ||
| 1342 | + gndY = sourceGndY; | ||
| 1343 | + gndX = sourceGndX + mapPixelWidth; | ||
| 1339 | 1344 | } | |
| 1340 | 1345 | } | |
| 1341 | 1346 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments