It's hard to know for certain without seeing your shape script, but it sounds like a "pixel count vs percentage" confusion. With shape script functions such as moveto(), lineto(), rectangle() and ellipse(), their parameters all represent a percentage of the overall size. If you want a rectangle that is 25x20 pixels, it is tempting to use the command rectangle(0,0,25,20); but that would be wrong. First define the area as 25x20 and then use 100% of it, as follows:
shape main
{
defsize(25,20);
rectangle(0,0,100,100);
}
I hope this helps. If not, please post your shape script to this thread and we can see what is going wrong.