Descrizione :
Un mio esempio pratico su come stampare un'immagine con coordinate e dimensioni prestabilite.
+ Articolo :
Ho deciso di inserire questo breve articolo nel mio Blog, prendendo spunto da una mia soluzione data all'utente di un Forum. Data la genericità del problema posto, la soluzione, semplice ma non banale, può essere facilmente adattata a molti altri casi.
Di seguito carico un'immagine bitmap da disco e scelgo di stamparla centrata rispetto al foglio A4 di destinazione. Inoltre specifico in centimetri le dimensioni desiderate dell'immagine stampata.
--> Codice Esempio :
Dim percorso As String percorso = App.Path & "\" Const A4LandscapeW As Single = 29.7 Const A4LandscapeH As Single = 21 Dim larghezzaDesiderata As Single larghezzaDesiderata = 20 Dim altezzaDesiderata As Single altezzaDesiderata = 16 'Controlli '... 'If altezzaDesiderata > A4LandscapeH Then ... '... Dim X1 As Single X1 = (A4LandscapeW - larghezzaDesiderata) / 2 Dim Y1 As Single Y1 = (A4LandscapeH - altezzaDesiderata) / 2 Dim myPict As Picture Set myPict = LoadPicture(percorso & "temp.bmp") With Printer .Orientation = 2 'Landscape .ScaleMode = 7 'Centimetri .ScaleLeft = 0 .ScaleTop = 0 .ScaleWidth = A4LandscapeW .ScaleHeight = A4LandscapeH .PaintPicture myPict, X1, Y1, larghezzaDesiderata, altezzaDesiderata .EndDoc End With
La parte di codice "Controlli" commentata è il posto giusto per inserire il codice che dovrebbe eseguire tutte le verifiche di rito prima di dare il via alla stampa ( prima fra tutte : le dimensioni desiderate NON devono eccedere quelle massime del foglio ... ).
Pur trattandosi di un esempio base, contiene alcune "mosse fondamentali" da compiere nella stampa da VB6, in particolare per quanto riguarda l'Oggetto Printer e il Metodo .PaintPicture().
Per chiunque si stia cimentando nella gestione di stampe di una certa complessità, e non abbia ancora deciso se stare su VB6 o passare a VB.NET, il mio consiglio è anche qui uno solo : GDI+ e .NET permettono un controllo ben superiore.
+ Fine Articolo.
0 commenti:
Posta un commento