473,386 Members | 1,766 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Text on Image Resolution

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.

Mar 16 '06 #1
4 2109
Sounds like you're adding the text to the image and then printing the image.
You should probably send the image and then the text to the printer. The
printer driver will then render the text at the full resolution of the
printer.
"CG3000" <ca*************@yahoo.com> wrote in message
news:11**********************@u72g2000cwu.googlegr oups.com...
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.

Mar 16 '06 #2
I am adding the text to the image and then printing it.

How do you send the image and the text separate?

Ill be honest and see I know how to print ONE document at a time. Not
send a document in "pieces"

Mar 16 '06 #3
I use VB6 and have only used dot net a couple of times (don't even have it
installed at work yet). But I would assume that after you send the image to
the printer with:

ev.Graphics.DrawImage(Me.PictureBox1.Image,
ev.Graphics.VisibleClipBounds.Location)

You could then send the text.

ev.Graphics.DrawString(Me.txtSet.Text + "", New Font("Helvetica",
9,GraphicsUnit.Pixel), Brushes.Black, New RectangleF(48, 49, 50, 25), sf)

You will probably need to adjust the sizes of the font, and the rectangle as
you are now working with the printer units, not the image units. I think in
VB6 by default each inch = 1440 pixels... not sure what it is in dot net.
Hopefully this will point you in the right direction as I can't test it
here.

"CG3000" <ca*************@yahoo.com> wrote in message
news:11**********************@z34g2000cwc.googlegr oups.com...
I am adding the text to the image and then printing it.

How do you send the image and the text separate?

Ill be honest and see I know how to print ONE document at a time. Not
send a document in "pieces"

Mar 16 '06 #4
Enfor thank you. I think you are right.

I did what you said in a small test and it worked.

I dont understand GDI+ to a greath depth but I read this has something
to do with the text resolution being separate from the PCs resolution.

Ill let you know after I add all my text box values. I initially tried
one text box value and I saw a HUGE diff in the resolution.

Mar 17 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Chris Beall | last post by:
I'm struggling with how to handle, on a web page, images that contain text that the user must be able to read. Examples: tombstone photos, photos or scans of historic documents (handwritten or...
2
by: Ben Amada | last post by:
Hi group. I'm going to display a low resolution image in an HTML page. On the web server, I have a high resolution version of that image. If I display the high resolution image in the browser...
3
by: UJ | last post by:
My client wants to have some text scale appropriately depending on the resolution of the screen. This is very much like the way that flash works in that as the area being displayed gets bigger, the...
14
by: Roger Withnell | last post by:
How to I find out what size text the browser is set to? Thanks in anticipation.
0
by: CG3000 | last post by:
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...
3
by: Andy Baxter | last post by:
I have an image scrolling in a viewport for a panoramic image viewer. The viewport can be resized to several set resolutions so people can adjust the size according to their bandwidth. There are...
3
by: =?Utf-8?B?SlIx?= | last post by:
I would like to add text to an image. I have tried to use DrawString and it works on some images but on others it is very very small. I am pretty sure it has something to do with the size of the...
6
by: bradyounie | last post by:
I'm writing a program that displays a user-supplied Bitmap and then writes text fields to it. These "text fields" are things that the user can move around on the image, but to render them...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.