To print an image or text, use a PrintDocument control. To following example shows how to print an image data, using a PrintDocument control.
-
-
-
- open System.Collections.Generic
- open System
- open System.Windows.Forms
- open System.ComponentModel
- open System.Drawing
- open System.Drawing.Printing
-
- open System.Drawing.Imaging
- let imageform = new Form(Text="Print Form",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(300, 250),StartPosition=FormStartPosition.CenterScreen)
-
- let exitbutton=new Button(Text="Exit", Location=new System.Drawing.Point(200, 200))
- let loadbutton=new Button(Text="Load", Location=new System.Drawing.Point(120, 200))
- let prnbutton=new Button(Text="Print", Location=new System.Drawing.Point(40, 200))
- let pic=new PictureBox(SizeMode=PictureBoxSizeMode.StretchImage,Location=new System.Drawing.Point(20, 20),BorderStyle=BorderStyle.FixedSingle,Size=new System.Drawing.Size(100, 100))
- let label=new Label(AutoSize=true,Location=new System.Drawing.Point(0, 120))
- let dlg=new OpenFileDialog()
- let gr=imageform.CreateGraphics()
- let prn=new System.Drawing.Printing.PrintDocument()
- imageform .Controls.Add(pic)
- imageform.Controls.Add(loadbutton)
- imageform.Controls.Add(label)
- imageform.Controls.Add(prnbutton)
- imageform.Controls.Add(exitbutton)
-
- prnbutton.Click.Add(fun startprint->prn.Print())
-
- loadbutton.Click.Add(fun load->
-
- dlg.Filter <- "JPEG Images (*.jpg,*.jpeg)|*.jpg;*.jpeg|Gif Images (*.gif)|*.gif"
-
- dlg.Title<-"Select an Image File"
- if dlg.ShowDialog()=DialogResult.OK then
-
-
- let bmp=new System.Drawing.Bitmap(dlg.FileName)
- bmp.RotateFlip(RotateFlipType.RotateNoneFlipNone)
-
- pic.Image<-bmp
-
- label.Text<-"\t\tFilename:" + Convert.ToString(Convert.ToChar(32))+ (dlg.FileName))
-
-
- prn.PrintPage.Add(fun printdata->gr.DrawImage(pic.Image,10,10))
-
- exitbutton.Click.Add(fun quit->imageform.Close())
- [<stathread>]
-
- Application.Run(imageform)
- </stathread>
// Learn more about F# at http://fsharp.net
//specifies the memory location of the class files
//that will be needed in our application
open System.Collections.Generic
open System
open System.Windows.Forms
open System.ComponentModel
open System.Drawing
open System.Drawing.Printing
open System.Drawing.Imaging
let imageform = new Form(Text="Print Form",AutoScaleDimensions=new System.Drawing.SizeF(60.0F, 13.0F),ClientSize=new System.Drawing.Size(300, 250),StartPosition=FormStartPosition.CenterScreen)
//creates our control
let exitbutton=new Button(Text="Exit", Location=new System.Drawing.Point(200, 200))
let loadbutton=new Button(Text="Load", Location=new System.Drawing.Point(120, 200))
let prnbutton=new Button(Text="Print", Location=new System.Drawing.Point(40, 200))
let pic=new PictureBox(SizeMode=PictureBoxSizeMode.StretchImage,Location=new System.Drawing.Point(20, 20),BorderStyle=BorderStyle.FixedSingle,Size=new System.Drawing.Size(100, 100))
let label=new Label(AutoSize=true,Location=new System.Drawing.Point(0, 120))
let dlg=new OpenFileDialog()
let gr=imageform.CreateGraphics()
let prn=new System.Drawing.Printing.PrintDocument()
imageform .Controls.Add(pic)
imageform.Controls.Add(loadbutton)
imageform.Controls.Add(label)
imageform.Controls.Add(prnbutton)
imageform.Controls.Add(exitbutton)
//sends the data to the printer
prnbutton.Click.Add(fun startprint->prn.Print())
loadbutton.Click.Add(fun load->
//filter dialog result
dlg.Filter <- "JPEG Images (*.jpg,*.jpeg)|*.jpg;*.jpeg|Gif Images (*.gif)|*.gif"
//adds title to your dialog box
dlg.Title<-"Select an Image File"
if dlg.ShowDialog()=DialogResult.OK then
//creates a bitmap object
//assigns the image selected by the user as its value
let bmp=new System.Drawing.Bitmap(dlg.FileName)
bmp.RotateFlip(RotateFlipType.RotateNoneFlipNone)
//assigns the loaded image as a picturebox value
pic.Image<-bmp
//displays the image url in our label
label.Text<-"\t\tFilename:" + Convert.ToString(Convert.ToChar(32))+ (dlg.FileName))
//specifies the data to be printed
//in this case our image
prn.PrintPage.Add(fun printdata->gr.DrawImage(pic.Image,10,10))
//close the form
exitbutton.Click.Add(fun quit->imageform.Close())
[]
//executes our application
Application.Run(imageform)