Re: Modify screen pixels
- From: navid_ad <navid.fallah@xxxxxxxxx>
- Date: Wed, 11 Jun 2008 17:00:28 -0700 (PDT)
On Jun 11, 2:07 am, aku ankka <ju...@xxxxxxxxxxxx> wrote:
On Jun 10, 8:14 pm, navid_ad <navid.fal...@xxxxxxxxx> wrote:
Thanks eceryone for your help, I figured it out half way. First of
all, I decided to get it to work just on Windows
for right now, I tried getPixel and setPixel in a loop to read and
write all the pixels to/from a buffer,
it works but it is just too slow. It takes 6 seconds to read all
pixels and 3 seconds to write them.
Now I'm using GetDIBits to capture a screenshot to a buffer which is
very fast and I can even
save it to a bitmap file. and I can change colors in buffer. The part
that I couldn't get it to work is
the SetDIBits which is suppose to show the buffer onscreen.
On Jun 3, 5:55 pm, "jbwest" <jbw...@xxxxxxxxxxx> wrote:
"fungus" <openglMYSO...@xxxxxxxxxx> wrote in message
news:9f7d5e71-68cc-41e2-84d7-d7e0b02462c2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Jun 3, 9:59 am, Jonno <jo...@xxxxxxxxxxx> wrote:
There is no glGetPixel or glSetPixel in OpenGL.
Windows API has GetPixel and SetPixel, and these (like all Windows GDI
functions) can draw to anywhere on thescreen, including other programs'
windows. But if you do this, the other programs will overwrite your
pixels the next time they redraw.
I'm not sure even this works any more on Windows Vista.
--
<\___/>
/ O O \
\_____/ FTB. Remove my socks for email address.
Even if it did (a similar grab can be done in X11) its not quite what was
asked for.
If anything on thescreenis changing in any way, this snap & replace
approach won't be right.
You'd have to snap & replace at refresh rate to make it "right" -- tough to
do.
jbw- Hide quoted text -
- Show quoted text -
More important question is what you trying to do with this.. it could
be that
_this_ question becomes irrelevant if better means are found to do
what ever it is you are doing.
I want to check all the pixels on screen and detect the pixels with
specific range of RGB next to each other. For example colorblind
people can not see a red text on a green background, now if I find all
the green pixels next to red pixels on screen and draw a line between
them, they can read the text!
So the steps are like this:
1. Capture the screen to an array.
2. Process the captured screen pixel by pixel for that specific range
of RGB.
3. Draw the line by changing RGB values of the array.
4. Show the array of RGB back on screen.
.
- References:
- Modify screen pixels
- From: navid_ad
- Re: Modify screen pixels
- From: Jonno
- Re: Modify screen pixels
- From: fungus
- Re: Modify screen pixels
- From: jbwest
- Re: Modify screen pixels
- From: navid_ad
- Re: Modify screen pixels
- From: aku ankka
- Modify screen pixels
- Prev by Date: Re: Modify screen pixels
- Next by Date: Re: Opengl rendering
- Previous by thread: Re: Modify screen pixels
- Next by thread: Re: Modify screen pixels
- Index(es):
Relevant Pages
|