473,804 Members | 3,549 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Crippled graphics...

Jeff Garcia deserves to play!!!

Anyway, why has Microsoft eliminated the "Point" and "Pset" functions in VB.NET from what was already a limited selection of graphical functions in earlier versions of VB? Any chance of doing reasonably sophisticated graphical work in a picturebox control or any other control that supports graphics has been crippled. The "Point" function returns the pixel color at the given coordinates. The "Pset" function allows you to set the pixel color at the given coordinates. I ask you, what two functions could be more indispensable to any graphical tool kit than functions such as these? Yet, Microsoft feels a need to eliminate them. Is this an oversight? Is it malice

I tried allowing the upgrade wizard for VB.NET to upgrade a VB6 project I've been developing. What a mess! It was like hurricane Hugo had passed through. I had about a thousand exeptions to deal with, not to mention that graphics support had been turned inside out and cut down to size which meant that many key procedures could not be upgraded. Moreover, the graphical work I did for the picturebox control in VB6 simply cannot be duplicated in VB.NET by any means I know of. The only thing I can do would be to start from scratch with Visual c++ or do something with OpenGL or ActiveX. It's a shame. The graphics I designed were really quite slick, and fairly simple to code. They consisted of an arrow that moved along a line in response to a MouseMove event. As the arrow moved back and forth so did a field of stars, representing all the constellations in the sky at a chosen location on earth, arc back and forth in time in response to the arrow. This was just a preliminary to something more ambitious, but the point is I could have done all the necessary graphical work with the simple, easily accessable VB6 functions. There's a lot you can do with just the "Point" "Pset" and "Clear" functions

I was fairly happy with VB6, but I'm disappointed in Microsoft's sloppy treatment of VB in its .NET incarnation. Point and Pset are not the only hitches in this latest tinkering, there is also OLE support, debugging, form sizing, etc. But that's for another topic. I want to learn .NET, but thank God I still have my Visual Studio 6.0. That one goes into the vault until something better comes along.
Nov 20 '05 #1
10 1214
Cor
Hi Egbert,

I am not that old, but I thought there where the same discussions when Ford
was changing his 2 shift gearbox from the T ford for something else.

But there where a lot who did use there T Ford for a long time after that
and where very happy with it.

Just a thought

Cor
Nov 20 '05 #2
On Thu, 13 Nov 2003 23:11:10 -0800, eggbert wrote:
Anyway, why has Microsoft eliminated the "Point" and "Pset" functions in VB.NET


I don't fully understand their reasoning, but it has something to do with
resolution independence.

In any event, the bitmap class supports GetPixel and SetPixel, and also the
LockBits method which lets you get to the raw pixel data. Perhaps that can
help you.

Also, check out this FAQ:

http://www.bobpowell.net/gdiplus_faq.htm

--
Chris

To send me an E-mail, remove the underscores and lunchmeat from my E-Mail
address.
Nov 20 '05 #3
Chris,
I don't know the specifics either, SetPoint would be nice and I believe not
that hard to implement, especially seeing we can use DrawLine (or is it
DrawRectangle) to "fake it".

GetPoint would be challenging!

Remember that the Graphics object has Page Transforms, World Transforms, and
aliasing! So I would expect logical SetPoint & GetPoint over physical
SetPixel & GetPixel.

So I may call SetPoint with color 1, however calling GetPoint on the exact
same coordinates, immediately after SetPoint, may return a plethora of
colors, as the logical point actually covers multiple physical points, and
each of those physical points may be a slightly different color due to
aliasing. Or completely different colors If I was using the floating point
versions of the draw methods. Unless of course SetPoint & GetPoint are
limited to physical coordinates which means they are too limited so why
bother, we can use Bitmap.GetPixel & Bitmap.SetPixel .

I am sure there are other technical reasons as to why it was omitted.
I don't fully understand their reasoning, but it has something to do with
resolution independence. I suspect device independence also, how do you GetPoint on a printer? Of
course the Graphics object for the Printer could maintain a bitmap of the
points being printed. Lets see how much memory for the bitmap would this be
for legal paper on my 1200 dpi true color printer. ;-)

Also I question when you really need to return the color of a "point" you
just displayed, I would expect that information would be maintained in some
object within my program.

I'm not seeing anything at http://longhorn.msdn.microsoft.com/ that would
suggest this has changed in Whidbey or Longhorn.

Just a thought
Jay

"Chris Dunaway" <dunawayc@_lunc hmeat_sbcglobal .net> wrote in message
news:14******** *************** *******@40tude. net... On Thu, 13 Nov 2003 23:11:10 -0800, eggbert wrote:
Anyway, why has Microsoft eliminated the "Point" and "Pset" functions in
VB.NET
I don't fully understand their reasoning, but it has something to do with
resolution independence.

In any event, the bitmap class supports GetPixel and SetPixel, and also the LockBits method which lets you get to the raw pixel data. Perhaps that can help you.

Also, check out this FAQ:

http://www.bobpowell.net/gdiplus_faq.htm

--
Chris

To send me an E-mail, remove the underscores and lunchmeat from my E-Mail
address.

Nov 20 '05 #4
>>I am not that old, but I thought there where the same discussions when For
was changing his 2 shift gearbox from the T ford for something else But there where a lot who did use there T Ford for a long time after tha
and where very happy with it Just a though


Yes, but when Ford upgraded his gearbox he didn't decide to remove the wheels from the car at the same time

In any case friend, your comment is no solution. Unless you can suggest an alternative I can actually work with, you're just flapping your jaws for no good purpose

Nov 20 '05 #5
>>In any event, the bitmap class supports GetPixel and SetPixel, and also th
LockBits method which lets you get to the raw pixel data. Perhaps that ca
help you


I know about GetPixel and SetPixel for the bitmap class. My problem is I have a display of hundreds of stars to deal with and each star needs to be individually plotted as it moves across the display. I'm not so sure that constantly modifying and reloading a bitmap would be the most efficient way to do that. Then again, it may be no less efficient than using "Point" and "Pset". I don't know

The LockBits method sounds interesting. I'll look into that

Thanks...
Nov 20 '05 #6
Cor
Hi Egbert,
Yes, but when Ford upgraded his gearbox he didn't decide to remove the wheels from the car at the same time.
In any case friend, your comment is no solution. Unless you can suggest

an alternative I can actually work with, you're just flapping your jaws for
no good purpose.

I think I would have the solution for you, but for you it is only jaws.
I should not know why I would help you.

Bye

Cor

Nov 20 '05 #7
>>I should not know why I would help you

You would help me for the simple pleasure of doing it. Why else? You would help me to exercise your skills as a programmer and your skills as a communicator. I'm not trying to win a popularity contest here. I'm just a seeker of information who appreciates a little intellectual honesty from time to time.
Nov 20 '05 #8
Cor
Hi Eggbert,

The same question of you came when Microsoft changed the posibility to use
direct adressing the memory map of a screen. There is never been a
replacement for that, you had to take another approach to reach your goals.

Therefore was my answer about the T Ford when you said why did they changed
it and the function never came back.

There are a lot of examples in the VB resource kit.

One of them is a clock. It is moving very actual with a lot of points
changing and you can move it all over the screen.

I would look for it if I was you because you told something about moving
stars.

The resource kit you can find:
http://msdn.microsoft.com/vbasic/vbrkit/default.aspx

The example I think fits you is in "Window" applications

Samples, Gdi Clock.

I hope this helps you?

Cor



Nov 20 '05 #9
There is a class bitmap that have this two methods... SetPixel and GetPixel
You draw anything you want in such a bitmap offscreen and then just draw
whole bitmap in a picture box

--
Ceers,
Crirus

------------------------------
If work were a good thing, the boss would take it all from you

------------------------------

"eggbert" <an*******@disc ussions.microso ft.com> wrote in message
news:C5******** *************** ***********@mic rosoft.com...
Jeff Garcia deserves to play!!!!

Anyway, why has Microsoft eliminated the "Point" and "Pset" functions in VB.NET from what was already a limited selection of graphical functions in
earlier versions of VB? Any chance of doing reasonably sophisticated
graphical work in a picturebox control or any other control that supports
graphics has been crippled. The "Point" function returns the pixel color at
the given coordinates. The "Pset" function allows you to set the pixel
color at the given coordinates. I ask you, what two functions could be more
indispensable to any graphical tool kit than functions such as these? Yet,
Microsoft feels a need to eliminate them. Is this an oversight? Is it
malice?
I tried allowing the upgrade wizard for VB.NET to upgrade a VB6 project I've been developing. What a mess! It was like hurricane Hugo had passed
through. I had about a thousand exeptions to deal with, not to mention that
graphics support had been turned inside out and cut down to size which meant
that many key procedures could not be upgraded. Moreover, the graphical
work I did for the picturebox control in VB6 simply cannot be duplicated in
VB.NET by any means I know of. The only thing I can do would be to start
from scratch with Visual c++ or do something with OpenGL or ActiveX. It's a
shame. The graphics I designed were really quite slick, and fairly simple
to code. They consisted of an arrow that moved along a line in response to
a MouseMove event. As the arrow moved back and forth so did a field of
stars, representing all the constellations in the sky at a chosen location
on earth, arc back and forth in time in response to the arrow. This was
just a preliminary to something more ambitious, but the point is I could
have done all the necessary graphical work with the simple, easily
accessable VB6 functions. There's a lot you can do with just the "Point"
"Pset" and "Clear" functions.
I was fairly happy with VB6, but I'm disappointed in Microsoft's sloppy

treatment of VB in its .NET incarnation. Point and Pset are not the only
hitches in this latest tinkering, there is also OLE support, debugging, form
sizing, etc. But that's for another topic. I want to learn .NET, but thank
God I still have my Visual Studio 6.0. That one goes into the vault until
something better comes along.
Nov 20 '05 #10

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

Similar topics

10
5963
by: Ken VdB | last post by:
Hi everyone, Is there a reason why the Mid() function only works in one direction in VBScript? This code works in VB6 but not in VBScript? Is there a way around it? I am trying to create an ASP page which produces a fixed width text file for import into a third party legacy application which I don't have control over. --code sample-- Dim strSomeString
1
1352
by: eggbert | last post by:
Jeff Garcia deserves to play!!! Anyway, why has Microsoft eliminated the "Point" and "Pset" functions in VB.NET from what was already a limited selection of graphical functions in earlier versions of VB? Any chance of doing reasonably sophisticated graphical work in a picturebox control or any other control that supports graphics has been crippled. The "Point" function returns the pixel color at the given coordinates. The "Pset" function...
12
2389
by: Sanjay | last post by:
hi, We are currently porting our project from VB6 to VB .NET. Earlier we used to make scale transformations on objects like pictureBox , forms etc.Now Such transformations are made on the graphics object of the form/pictureBox. Should It be better if make a graphics object from my pictureBox in load event handler of the form and store it as member variable of the form , make
14
3103
by: Pmb | last post by:
At the moment I'm using Borland's C++ (http://www.borland.com/products/downloads/download_cbuilder.html#) I want to be able to take an array of points and plot them on the screen. Is there a way to do this? E.g. I want to be able to graph a function. At this point I'm not up to a level in C++ where I want to start learning Visual C++ so I don't want to go that route. Thanks
5
27169
by: Charles A. Lackman | last post by:
Hello, I have created a complete PrintDocument and need to create an image from it. How is this done? e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality e.Graphics.DrawString(Line1.Text, FontLine1, TheBrush, Thelocation1, 390 + yPos, AStringFormat) e.Graphics.DrawString(Line2.Text, FontLine2, TheBrush, Thelocation2, TheHeight1 + (390 + yPos))
6
3247
by: Chris Dunaway | last post by:
The method for printing documents in .Net can be confusing, especially for newer users. I would like to create a way to simplify this process. My idea would be implemented using a PrintDocument (much like the current model), but my PrintDocument would have a Pages collection such that each time you need to have an additional page, you would just add another page to the collection and then use the page object for the actual drawing etc. ...
12
3606
by: Xah Lee | last post by:
Of Interest: Introduction to 3D Graphics Programing http://xahlee.org/3d/index.html Currently, this introduction introduces you to the graphics format of Mathematica, and two Java Applet utilities that allows you to view them with live rotation in a web browser. Also, it includes a introductory tutorial to POV-Ray.
8
3138
by: Abhiraj Chauhan | last post by:
I need someone to make an example of how to create a graphics window in VB.net 2008. I understand the basics of how to draw a rectangle and lines etc. What I need is an example of how to make a window that goes in a form that does the following: 1. When the application is run, the form has a graphics area within the form (not the entire form) colored white. 2. Two text boxes (not in the graphics area) for data entry used to define...
0
9706
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10580
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10323
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10082
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9157
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7621
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5525
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3821
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2993
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.