800 is width of page, 1100 is height. i believe you mean 1100 width and 800 height.
Sub recersive_print(ByVal WholeImg As Bitmap)
Static i As Integer = 0
i += 1
If WholeImg.Height > 800 Then
Dim CropRect As New Rectangle(0, 0, 1100, 800)
Dim CropImage = New Bitmap(CropRect.Width, CropRect.Height)
Dim restofimg = New Bitmap(1100, WholeImg.Height - 800)
Dim restofingrect As New Rectangle(0, 0, restofimg.Width, restofimg.Height)
Using grp = Graphics.FromImage(CropImage)
grp.DrawImage(WholeImg, CropRect, CropRect, GraphicsUnit.Pixel)
End Using
CropImage.Save("E:\cropped" & i.ToString ".bmp")
Using grp = Graphics.FromImage(restofimg)
grp.DrawImage(WholeImg, restofingrect, New Rectangle(0, CropRect.Height, restofimg.Width, restofimg.Height), GraphicsUnit.Pixel)
End Using
restofimg.Save("E:\Rest" & i.ToString ".bmp")
recersive_print(restofimg)
Else
WholeImg.Save("E:\out.bmp")
End If
End Sub
valter