C
CG3000
I create a .PNG image ( in Macromedia Fireworks ) which has an gif in
it in the top left corner and a lot of empty canvas space to the right.
I use about 10 text boxes on a form to populate that empty space with
text.
I then print the image ( from a picture box on my form) on a UPS
Thermal Printer ( label printer)
Problem is the resolution of the text is blurry.
I tried changing the image resolution but that made it print very
small.
I dont know if I should try a differnt image type other then .png.
The PC that prints the label is running XP. The below code is what
creates the image and prints it:
Private Sub btnMakeLabel_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim imageName As String = "C:\Projects\Vitex\VPG_Small_3.png"
Dim i As Image = Image.FromFile(imageName)
Dim g As Graphics = Graphics.FromImage(i)
Dim sf As StringFormat =
CType(StringFormat.GenericTypographic.Clone(), StringFormat)
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
Dim dt As Date =
Date.Parse(Me.MonthCalendar1.SelectionRange.Start)
Dim lblMonth As Integer = dt.Month
Dim lblDay As Integer = dt.Day
'g.TextRenderingHint =
Drawing.Text.TextRenderingHint.AntiAliasGridFit
g.DrawString(lblMonth.ToString() + " " + lblDay.ToString(), New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(65, 49, 50, 25), sf)
'g.DrawString("Set # ", New Font("Helvetica", 7,
GraphicsUnit.Point), Brushes.Black, New RectangleF(50, 34, 50, 25), sf)
g.DrawString(Me.txtSet.Text + "", New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(48, 49, 50, 25), sf)
g.DrawString(Me.txtBackroll.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(38, 49, 50, 25), sf)
g.DrawString("Op: " + Me.txtOperatorInitls.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(5, 50, 50, 25), sf)
g.DrawString("Code: " + Me.txtCode.Text, New Font("Helvetica",
9, GraphicsUnit.Pixel), Brushes.Black, New RectangleF(38, 2, 100, 25),
sf)
g.DrawString("SO: " + Me.txtS0.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(155, 1, 60, 25), sf)
g.DrawString("Desc:" + Me.txtDescript1.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(40, 12, 120, 25), sf)
g.DrawString(Me.txtDescript2.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(49, 22, 120, 25),
sf)
g.DrawString("PO: " + Me.txtPurchOrd.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(38, 34, 80, 25), sf)
g.DrawString("Qty: " + Me.txtPressRepeats.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(127, 17, 90, 60), sf)
g.DrawString("Roll # 1", New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(107, 30, 120, 60),
sf)
g.Dispose()
Me.PictureBox1.Image = i
End Sub
Private Sub btnPrintLabels_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Try
'If you do not specify a printer it uses the default
'Me.PrntDoc_Img.PrinterSettings.PrinterName = "Canon
MF3110"
Me.PrntDoc_Img.DocumentName = "Vitex Label"
AddHandler PrntDoc_Img.PrintPage, AddressOf Me.pd_PrintPage
PrntDoc_Img.Print()
Catch ex As Exception
MessageBox.Show("An error occurred while printing", _
ex.ToString())
End Try
End Sub
' Specifies what happens when the PrintPage event is raised.
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As
System.Drawing.Printing.PrintPageEventArgs)
' Draw a picture.
'ev.Graphics.
ev.Graphics.DrawImage(Me.PictureBox1.Image, _
ev.Graphics.VisibleClipBounds.Location)
' Indicate that this is the last page to print.
ev.HasMorePages = False
End Sub
End Class
Anything I can do to increase the text quality.
it in the top left corner and a lot of empty canvas space to the right.
I use about 10 text boxes on a form to populate that empty space with
text.
I then print the image ( from a picture box on my form) on a UPS
Thermal Printer ( label printer)
Problem is the resolution of the text is blurry.
I tried changing the image resolution but that made it print very
small.
I dont know if I should try a differnt image type other then .png.
The PC that prints the label is running XP. The below code is what
creates the image and prints it:
Private Sub btnMakeLabel_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim imageName As String = "C:\Projects\Vitex\VPG_Small_3.png"
Dim i As Image = Image.FromFile(imageName)
Dim g As Graphics = Graphics.FromImage(i)
Dim sf As StringFormat =
CType(StringFormat.GenericTypographic.Clone(), StringFormat)
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
Dim dt As Date =
Date.Parse(Me.MonthCalendar1.SelectionRange.Start)
Dim lblMonth As Integer = dt.Month
Dim lblDay As Integer = dt.Day
'g.TextRenderingHint =
Drawing.Text.TextRenderingHint.AntiAliasGridFit
g.DrawString(lblMonth.ToString() + " " + lblDay.ToString(), New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(65, 49, 50, 25), sf)
'g.DrawString("Set # ", New Font("Helvetica", 7,
GraphicsUnit.Point), Brushes.Black, New RectangleF(50, 34, 50, 25), sf)
g.DrawString(Me.txtSet.Text + "", New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(48, 49, 50, 25), sf)
g.DrawString(Me.txtBackroll.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(38, 49, 50, 25), sf)
g.DrawString("Op: " + Me.txtOperatorInitls.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(5, 50, 50, 25), sf)
g.DrawString("Code: " + Me.txtCode.Text, New Font("Helvetica",
9, GraphicsUnit.Pixel), Brushes.Black, New RectangleF(38, 2, 100, 25),
sf)
g.DrawString("SO: " + Me.txtS0.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(155, 1, 60, 25), sf)
g.DrawString("Desc:" + Me.txtDescript1.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(40, 12, 120, 25), sf)
g.DrawString(Me.txtDescript2.Text, New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(49, 22, 120, 25),
sf)
g.DrawString("PO: " + Me.txtPurchOrd.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(38, 34, 80, 25), sf)
g.DrawString("Qty: " + Me.txtPressRepeats.Text, New
Font("Helvetica", 9, GraphicsUnit.Pixel), Brushes.Black, New
RectangleF(127, 17, 90, 60), sf)
g.DrawString("Roll # 1", New Font("Helvetica", 9,
GraphicsUnit.Pixel), Brushes.Black, New RectangleF(107, 30, 120, 60),
sf)
g.Dispose()
Me.PictureBox1.Image = i
End Sub
Private Sub btnPrintLabels_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Try
'If you do not specify a printer it uses the default
'Me.PrntDoc_Img.PrinterSettings.PrinterName = "Canon
MF3110"
Me.PrntDoc_Img.DocumentName = "Vitex Label"
AddHandler PrntDoc_Img.PrintPage, AddressOf Me.pd_PrintPage
PrntDoc_Img.Print()
Catch ex As Exception
MessageBox.Show("An error occurred while printing", _
ex.ToString())
End Try
End Sub
' Specifies what happens when the PrintPage event is raised.
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As
System.Drawing.Printing.PrintPageEventArgs)
' Draw a picture.
'ev.Graphics.
ev.Graphics.DrawImage(Me.PictureBox1.Image, _
ev.Graphics.VisibleClipBounds.Location)
' Indicate that this is the last page to print.
ev.HasMorePages = False
End Sub
End Class
Anything I can do to increase the text quality.