Drawing an image without antialiasing?

mdProgrammer

New member
Joined
Aug 2, 2005
Messages
3
Programming Experience
10+
I'm trying to display a magnified image of an image in a picture box, but when I do, it's antialiased. How do I make it show pixel-per-pixel? (i.e., like the Windows Magnifier)


VB.NET:
[size=2][color=#0000ff]
Imports[/color][/size][size=2] System.Drawing.Drawing2D
[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Class[/color][/size][size=2] Form1

[/size][size=2][color=#0000ff]Inherits[/color][/size][size=2] System.Windows.Forms.Form

#[/size][size=2][color=#0000ff]Region[/color][/size][size=2] " Windows Form Designer generated code "

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2]()

[/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].New()

[/size][size=2][color=#008000]'This call is required by the Windows Form Designer.

[/color][/size][size=2]InitializeComponent()

[/size][size=2][color=#008000]'Add any initialization after the InitializeComponent() call

[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub

[/color][/size][size=2][/size][size=2][color=#008000]'Form overrides dispose to clean up the component list.

[/color][/size][size=2][/size][size=2][color=#0000ff]Protected[/color][/size][size=2] [/size][size=2][color=#0000ff]Overloads[/color][/size][size=2] [/size][size=2][color=#0000ff]Overrides[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Dispose([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Boolean[/color][/size][size=2])

[/size][size=2][color=#0000ff]If[/color][/size][size=2] disposing [/size][size=2][color=#0000ff]Then

[/color][/size][size=2][/size][size=2][color=#0000ff]If[/color][/size][size=2] [/size][size=2][color=#0000ff]Not[/color][/size][size=2] (components [/size][size=2][color=#0000ff]Is[/color][/size][size=2] [/size][size=2][color=#0000ff]Nothing[/color][/size][size=2]) [/size][size=2][color=#0000ff]Then

[/color][/size][size=2]components.Dispose()

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If

[/color][/size][size=2][/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]If

[/color][/size][size=2][/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Dispose(disposing)

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub

[/color][/size][size=2][/size][size=2][color=#008000]'Required by the Windows Form Designer

[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] components [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.ComponentModel.IContainer

[/size][size=2][color=#008000]'NOTE: The following procedure is required by the Windows Form Designer

[/color][/size][size=2][/size][size=2][color=#008000]'It can be modified using the Windows Form Designer. 

[/color][/size][size=2][/size][size=2][color=#008000]'Do not modify it using the code editor.

[/color][/size][size=2][/size][size=2][color=#0000ff]Friend[/color][/size][size=2] [/size][size=2][color=#0000ff]WithEvents[/color][/size][size=2] pic [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.PictureBox

<System.Diagnostics.DebuggerStepThrough()> [/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] InitializeComponent()

[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] resources [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Resources.ResourceManager = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Resources.ResourceManager([/size][size=2][color=#0000ff]GetType[/color][/size][size=2](Form1))

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Windows.Forms.PictureBox

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].SuspendLayout()

[/size][size=2][color=#008000]'

[/color][/size][size=2][/size][size=2][color=#008000]'pic

[/color][/size][size=2][/size][size=2][color=#008000]'

[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.Image = [/size][size=2][color=#0000ff]CType[/color][/size][size=2](resources.GetObject("pic.Image"), System.Drawing.Image)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.Location = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Point(488, 0)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.Name = "pic"

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.Size = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(64, 52)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.TabIndex = 0

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic.TabStop = [/size][size=2][color=#0000ff]False

[/color][/size][size=2][/size][size=2][color=#008000]'

[/color][/size][size=2][/size][size=2][color=#008000]'Form1

[/color][/size][size=2][/size][size=2][color=#008000]'

[/color][/size][size=2][/size][size=2][color=#0000ff]Me[/color][/size][size=2].AutoScaleBaseSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(5, 13)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ClientSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(552, 533)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Controls.Add([/size][size=2][color=#0000ff]Me[/color][/size][size=2].pic)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].MaximumSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(560, 560)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].MinimumSize = [/size][size=2][color=#0000ff]New[/color][/size][size=2] System.Drawing.Size(560, 560)

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Name = "Form1"

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].Text = "Form1"

[/size][size=2][color=#0000ff]Me[/color][/size][size=2].ResumeLayout([/size][size=2][color=#0000ff]False[/color][/size][size=2])

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub

[/color][/size][size=2]#[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Region

[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Form1_Load([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Object, [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] [/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Load

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub

[/color][/size][size=2][/size][size=2][color=#0000ff]Private[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub[/color][/size][size=2] Form1_Paint([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] sender [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Object[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] e [/size][size=2][color=#0000ff]As[/color][/size][size=2] System.Windows.Forms.PaintEventArgs) [/size][size=2][color=#0000ff]Handles[/color][/size][size=2] [/size][size=2][color=#0000ff]MyBase[/color][/size][size=2].Paint

[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] bgBrush [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] SolidBrush(Color.Brown)

[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] g [/size][size=2][color=#0000ff]As[/color][/size][size=2] Graphics = e.Graphics

[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] pt [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] Point(0, 0)

[/size][size=2][color=#0000ff]Dim[/color][/size][size=2] rect [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]New[/color][/size][size=2] Rectangle(0, 0, 500, 500)

g.SmoothingMode = SmoothingMode.None

g.DrawImage(pic.Image, rect, 0, 0, pic.Width, pic.Height, GraphicsUnit.Pixel)

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Sub

End[/color][/size][size=2] [/size][size=2][color=#0000ff]Class

[/color][/size]
 
The image is smoothed because you can probably zoom to levels like 70% or 376%. Only i you're willing to zoom like in MSPaint (2x,4x,8x) you can get a sharp image. Sorry
 
Back
Top