I am confused by the inaccuracy of plotting where PrintString is printing.
I was originally using a NewPage(850, 1100) setting for printing my checks, but that grid was too coarse. It caused my signature graphic to look rough. I increased the NewPage values to get a finer grid, in order to provide a better quality signature. That improves the image quality, but causes the X Y coordinates to become increasingly inaccurate the finer I make the grid.
I set up the code with variables that will multiply all of the coordinates by the same factor, which I thought should maintain the correct ratios for the X Y coordinate placement of the printed data. The larger the factor, the shorter the distance from the top and left edges of the paper the data is placed. (I hope I am explaining this clearly.)
This is the code I am using. What am I overlooking here?
var vCheckDate as String = @Rt("00" + @Str(@Month(Check Date)), 2) + "-" + @Rt("00" + @Str(@DOM(Check Date)), 2) + "-" + @Year(Check Date)
var vAmount as String = @Decimals(Amount, 2)
var vFont as String = "Courier New" //Font Face
var vSize as Int //Font Size
var vDPI as Int = 100 //Dots Per Inch
vSize = .16 * vDPI
//Format is Inches * DPI
NewPage(8.50 * vDPI, 11.00 * vDPI)
PrintPagePaper(28)
//Check data
PrintString(Check No, 7.60 * vDPI, .50 * vDPI, 0, vFont, vSize, 0)
PrintString(vCheckDate, 7.10 * vDPI, .85 * vDPI, 0, vFont, vSize, 0)
PrintString(Name, 1.10 * vDPI, 1.35 * vDPI, 0, vFont, vSize, 0)
PrintString(vAmount, 7.00 * vDPI, 1.35 * vDPI, 0, vFont, vSize, 0)
PrintString(Dollars, .40 * vDPI, 1.70 * vDPI, 0, vFont, vSize, 0)
PrintString(Memo, .70 * vDPI, 2.85 * vDPI, 0, vFont, vSize, 0)
//PrintImage(file, xpos, ypos, width, height)
PrintImage(".\Data\Sig.png", 5.40 * vDPI, 2.55 * vDPI, 2.80 * vDPI, .60 * vDPI)