Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



miércoles, 15 de abril de 2015

El objeto Printer: imprimir una imagen y texto por tu impresora


El objeto Printer:

 imprimir una imagen y texto por tu impresora


Uno de los métodos para imprimir en gambas3, es el uso del objeto printer. Para escribir o dibujar algo y luego impirmirlo, usamos el objeto printer  usa como si fuera un "drawingArea", y dibujamos (en las dimensiones del papel A4 o el que tengamos definido), indicando brocha que usamos y coordenadas.

Os dejo un simple ejemplo donde se dibuja una imagen y un texto.


Código:
' Gambas class file

Public Sub _new()

End

Public Sub Form_Open()

TextArea1.text = "Hola que tal me llamo julio y soy esto es una prueba de impresion con el objeto printer de gambas3. Es una prueba para redactar informes e imprimirlos"
TextArea1.text &= gb.crlf & "salto de " & gb.CrLf & " linea"
Label1.text = "Impresora:" & Printer1.name

End

Public Sub ButtonImprimir_Click()

Me.Enabled = False
Inc Application.Busy
Printer1.Print
Dec Application.Busy
Me.Enabled = True

End

Public Sub Printer1_Draw()

Dim PRINT_MARGIN As Float = Paint.Width / Printer1.PaperWidth * 10
Dim docV As String
Dim hImg As Image

docV = TextArea1.Text 'texto a escribir

'dibujo una imagen
hImg = Image.Load("duck1.png")
Paint.Brush = Paint.Image(hImg, 0, 0)
Paint.Rectangle(0, 0, hImg.Width, hImg.Height)
Paint.Fill()

'escribo el texto...
paint.brush = Paint.Image(Image.Load("recuadronegro.png"), 0, 0)
Paint.Font = Font["Courier"]
Paint.DrawRichText(docV, PRINT_MARGIN + hImg.width, PRINT_MARGIN - (Printer1.Page - 1) * (Paint.Height - PRINT_MARGIN * 2), Paint.Width - PRINT_MARGIN * 2 - hImg.Width, Paint.Height * Printer1.Count, Align.TopNormal)
Paint.Stroke


End

Enlace del código fuente: alojado en google code

Saludos