ThinkGeo.com    |     Documentation    |     Premium Support

Resolution Scaling Map Printer Layers

 Hi,


When a user selects a larger or smaller page size, I rescale the printer layers with this function.


 



        private void RefitLayer(PrinterLayer printerLayer, double widthRatio, double heightRatio)


        {


            RectangleShape oldTransform = printerLayer.GetBoundingBox();


 


            printerLayer.SetPosition(oldTransform.Width * widthRatio, oldTransform.Height * heightRatio, 


                new PointShape(oldTransform.GetCenterPoint().X * widthRatio, oldTransform.GetCenterPoint().Y * heightRatio), 


                PrintingUnit.Point);


        }


 


This works well, except it stretches shape file layers to an undesirable resolution.  Is there a way to increase to the resolution of a shape file layer parented to a Map Printer Layer when it has been stretched?


 


Thanks,


-Mitchell




Mitchell,


  I used your code and put it into the sample Large Scale Map Printing. I apply your function RefitLayer using 2 for width and height ratio parameters for page size A2. Compared to A4, I don't seem to see a problem with the resolution as you can see in the screenshots below. Can you give us some exact scenarios on how you see that undesirable resolution phenomenon affecting you? Thank you.


A4



 


A2 with RefitLayer passing 2 for widthRatio and 2 for heighRatio:




I apologize, my initially question was not well thought out (and wrong).


 
My issue is with Raster Layers during printing.  I've uploaded two solutions, the first...
cse.msu.edu/~thelen56/thinkGeo/RasterExample.zip
 
is a regular example including a raster layer.  When you zoom in and out the resolution adjusts itself accordingly.
 
In the second example...
cse.msu.edu/~thelen56/thinkGeo/...xample.zip
 
there is a raster layer parented to a map printer layer.  When you zoom in and out, the resolution does not change.  If you change the page size to something larger, say ANSI D or ANSI E, the layer will scale appropriately.  Which looks fine in print preview, but when actually printing to a 34 x 44 sheet, the image looks pixelated.  If you change to landscape or zoom-in- you can cover more area as well.
 
So, in a situation where the user has stretched out a raster layer across a large sheet of paper.  I would like to adjust the layer to a higher resolution - like when a user would zoom-in using the first example.
 
Is this possible to implement this with the current ThinkGeo library?  Could you point me in the right direction?
 
Thanks,
-Mitchell
 

 



Mitchell,


 We could receive the first solution fine but the second one has an error when we try to unzip it. See the error message we receive below. Please, make sure you have it zipped correctly. We are looking forward into looking at your case and improve our printing system. Thank you.




Hi,


I've uploaded two more retries and verified they unzip on other machines.


cse.msu.edu/~thelen56/thinkGeo/...eRedo1.zip


cse.msu.edu/~thelen56/thinkGeo/...eRedo2.zip


 


Thanks,


-Mitchell



Mitchell,


 Thank you for your sample. I think we have the issue clearly defined now. I have the Development team looking at this. I will let you know our findings.



Mitchell,


  I let you know that next week. We will look at that specific printing issue. Thank you for your patience.



Hi Mitchell, 
  
 It has been fixed, please get the latest version 5.5.153.0 or higher and have a try. 
  
 Thanks, 
 Johnny