Ciao, potresti disegnare l'immagine sulla stampante, adattandola a qualsiasi formato:

Sub StampaImmagine()

Dim Larghezza As Long
Dim Altezza As Long
Dim FotoWidth As Long
Dim FotoHeight As Long

'definisco la stampante come l'immagine
Printer.ScaleMode = vbTwips

'voglio 12 x 10 mm.
FotoWidth = 12
FotoHeight = 10

Larghezza = InteroSuperiore(567 * FotoWidth / Printer.TwipsPerPixelX, 0) * Printer.TwipsPerPixelX
Altezza = InteroSuperiore(567 * FotoHeight / Printer.TwipsPerPixelY, 0) * Printer.TwipsPerPixelY


'carico l'immagine in dimensione massima su un controllo Image
Set Image1.Picture = LoadPicture()
Set Image1.Picture = LoadPicture(App.Path & "\TEST.BMP", vbLPLarge, vbLPColor)

'disegno l'immagine sulla stampante
Printer.PaintPicture Image1.Picture, 100, 100, Larghezza, Altezza

Printer.EndDoc


End Sub




Questo è un semplice esempo base, ma si può centrare, stampare in orizzontale, ecc.