Solved

VB.NET Picturebox Blurring Smaller Images

Posted on 2008-06-15
5
1,376 Views
Last Modified: 2013-11-26
Hi Experts,

I'm developing a graphical processing package in (possibly the worst language for this!!) VB.NET, and part of this involves me showing a small 10x10 or 50x50 pixel image in a large picturebox. The VB.NET control is blurring the image, making it impossible to distinguish between the pixels. The picturebox is on 'Stretch' mode, in order to bring the pixels to a viewable level.

If any experts know how to either change the properties of the picture box, or how to scale up the image without using get/setpixel as this is too slow for my application then i would be most appreciative.

Tom
0
Comment
Question by:daveford123
  • 3
  • 2
5 Comments
 
LVL 14

Accepted Solution

by:
rachitkohli earned 500 total points
ID: 21791114
You may try picturebox property SizeMode=Zoom
Since this will fit in the picture box, but will also mantain the aspect ratio of the image.
To resize the image, dont use Get/Set pixels, you may use the graphics object DrawImage method.
But if you use DrawImage method, you need to set the width, height manually (if required need to also keep in mind about the aspect ratio, since its a very important factor while resizing an image)

Just a note, vb.net is not a worst language for Graphical Processing any more, since it has a powerful GDI+ class library, which can do anything.
I have managed to make a full fledged photo editing software with multi-layer it.

0
 
LVL 14

Expert Comment

by:rachitkohli
ID: 21791124
a nice site to understand the fundamentals about gdi+

http://bobpowell.net/
0
 

Author Comment

by:daveford123
ID: 21807740
Rachitkohli, That site is just what im looking for, with the translation matrix(es). the only issue im having now is changing the graphics object into the image data type that the picturebox can display. Any ideas?
0
 

Author Comment

by:daveford123
ID: 21808063
Thought this might help; this is the code im using currently, and getting a 'generic error'. Previously i was using the commented code and getting a 'type mismatch' error.
        Dim e As Graphics

        e = Graphics.FromImage(TempImg)

        e.Transform = New Drawing2D.Matrix(50, 0, 0, 50, 0, 0)

        COMP_TRANS.Image = e

        COMP_TRANS.Image = Image.FromHbitmap(e.GetHdc)

Open in new window

0
 

Author Closing Comment

by:daveford123
ID: 31467413
Cheers for that - good site, good advice
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Here we come across an interesting topic of coding guidelines while designing automation test scripts. The scope of this article will not be limited to QTP but to an overall extent of using VB Scripting for automation projects. Introduction Now…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now