|
Chris,
I don't see where the assignment of a to c1 takes place in your expression. Could you clarify, or is it just a joke?
Regards,
Alvaro
|
|
|
|
|
|
Hi all, I have managed to load/create (as necessary) a 24-bit DIBSection using the means described on this very web site (LR_CREATEDIBSECTION flag in LoadImage and CreateDIBSection), both of which return a HBITMAP. Superb. What I want to do now is "grab" the actual BGR colour values that make up each pixel, and change them to something else such as RGB(0,255,0 - Green, its the easiest example to use). At the moment I am trying to get the bits using a BITMAP structure (returned through GetObject) and its bmBits property. I have also implemented Christians wizardry to convert this pointer to a valid LPBYTE by :
for (int y=0, y < bm.bmHeight, y++)
{
LPBYTE pbSrcRGB = (LPBYTE)&((DWORD*)pDestBits)[y*bm->bmWidth]
for (int x=0, x < bm.bmWidth, x++)
{
pbSrcRGB[0]=0
pbSrcRGB[1]=255
pbSrcRGB[2]=0
pbSrcRGB+=3
}
}
However, the program crashes out after a few laps of the for loops. I have also checked to see whats in pbSrcRGB at position [0] BEFORE assignment and every time it has :
0 ''
it is NULL terminated. How is this remedied? BITMAP structure is passed into this function by :
&bm
and a LPBITMAP structure is then used (as you can see from bm->), so I would have thought that everything was OK from the BITMAP point of view. Also the bitmap starts off black (which I don`t want, thats why I`m changing it all to green), so I assume this is why it reads 0 ''. Also when I check pbSrcRGB[0] to see what it contains AFTER assignment, it reads :
255 'y' (with funny line over the top of the y)
Why does this happen?
The main essence of my questions are aimed at discovering :
a) why the program could be crashing out.
b) why the pixel colours on the screen don`t change when the memDC is blit to pDC (the screen device context).
Any help would be hugely appreciated as you can imagine. I`ve been working on this for a while, and just can`t figure it out. I`ve checked a lot of articles, but to this day I can`t find one that even attempts to shed light on the situation (except Christians - but the article didn`t really target the issue). If you`ve read this far down, I thank you for that even if you don`t know the answer,
Cheers,
Alan.
P.S. On a slightly different aspect, is there anyway of creating a DIB and intialising its colour to white instead of black?
AEGC
|
|
|
|
|
try using the <pre>...<pre> tags around code sections. and use < for &"<" characters.
about the NULL-terminated and funny-Y characters - don't worry about them. the debugger is displaying the BYTEs as characters.
http://www.smalleranimals.com
|
|
|
|
|
Cheers for page authoring advice, it looks much prettier now. So you think everything seems fine, but why does the app crash out? and why do the colours not change?
Cheers for the response,
Alan.
AEGC
|
|
|
|
|
this code might help:
int nPad = ds.dsBm.bmWidthBytes - (((ds.dsBmih.biWidth *
ds.dsBmih.biBitCount) + 7) / 8);
LPBYTE pbBits = (BYTE*) ds.dsBm.bmBits;
for (i=0; i<ds.dsBmih.biHeight; i++)
{
for (j=0; j<ds.dsBmih.biWidth; j++)
{
*(pbBits+0) = 0;
*(pbBits+1) = 255;
*(pbBits+2) = 0;
pbBits+=3;
}
pbBits += nPad;
}
http://www.smalleranimals.com
|
|
|
|
|
Well, you truly are a magician of the C++ variety, the code example you gave me worked superbly. However, there is one slight problem which is preventing me from tarring you with the same golden brush as Gandalf the Great. The bitmap goes green alright, but for only a second, and then where I draw some lines in some code after it, it flicks back to bl**dy black. Please enlighten me.
Also, I just like to thank you for that piece of code you gave me, for the page authoring tips you mentioned, and, well...for bothering to reply at all.
Cheers mate, I owe you one,
Alan.
|
|
|
|
|
|
I have finally found what was going wrong! I had selected the wrong hbitmap into the DIBSECTION (it was the background layer), thats why it was flicking up so quickly, it was being replaced by the new black background I just created. Just thought I`d post the solution in case anybody else has a similar problem. My thanks go Chris on majorly helping me through the subject. I`ll also thank Christian for his part on getting me on the right road to success.
Cheers guys,
Alan.
|
|
|
|
|
Hi,
I have a MDI Application with threeway splitter ChildFrames.
I inserted some shortkeys through resource editor.
Shortkeys are invoked only when the pane holding the control(related to shortkey) has the focus.
I want shortkeys to be invoked without caring about the focus..
How can i do it?
Can anybody put some light infront of me?
with greetings from germany
özgür
|
|
|
|
|
I have a class that has a member variable of type vector<CMyClass >.
I have sort parameters stored in the class that I want to use inside a custom sort function. But, the sort function has to be either global or a static member function. How can I access the class member that defines the sort criteria from the sort function. I cannot pass it as a variable also. The only solution that I could think of was to use a seperate function for each sort type, but this results in too many functions. I have 28 sort criteria in this class.
Thanks in advance for any help
-Thomas
modified 29-Aug-18 21:01pm.
|
|
|
|
|
|
I have been trying to solve this myself for the past 2 days. I should have taken refuge in CodeProject first. It took exactly 5 minutes on CP.
Thanks Chris.
Thomas
modified 29-Aug-18 21:01pm.
|
|
|
|
|
You need to add comparison operators to your MyClass. Then in your functor you can do
bool compare_myObjects(const CMyObject &a, const CMyObject &b)
{
return a < b;
}
<pre>
instead of accessing the members directly
<pre>
bool compare_myObjects(const CMyObject &a, const CMyObject &b)
{
return a.x < b.x;
}
so just add these to your MyClass
bool operator<(const& MyClass lhs, const& MyClass rhs)
{
}
bool operator>(const& MyClass lhs, const& MyClass rhs)
{
}
bool operator==(const& MyClass lhs, const& MyClass rhs)
{
}
etc. etc.
Todd Smith
|
|
|
|
|
Can anyone point me in the right direction for some info about combining MsDev and Rational rose? Or maybe give me a few hints on how to get started? If so my email address is ctxbsw@comp.leeds.ac.uk and ill check back here later-
Thanks in advance,
|
|
|
|
|
I found a Rational Rose Forum:
http://www.tek-tips.com/gthreadminder.cfm/lev2/4/lev3/28/pid/165
maybe you will get help here.
good luck Fredy
|
|
|
|
|
Hi every one
I don't know any thing about OpenGl
Is there any web sit can give me any lessons in OpenGL
but for bigginers ?
Thankx
Venus
|
|
|
|
|
This url should help out
http://www.gamedev.net/reference/list.asp?categoryid=31
Roger Allen the man
|
|
|
|
|
The official site (has tons of links)
www.opengl.org
Jonathan de Halleux, Belgium.
|
|
|
|
|
I started using the tutorials of msdn, are very good....
Best Regards.
Carlos Antollini.
Tomorrow is Friday!!!
|
|
|
|
|
Hello all,
When walking through the stack (in my Unhandled Exception Handler) using StackWalk from dbghelp/imagehlp library, this function also provides me the parameters (max. 4) of the function called.
Now...
Where/how do they get that parameter info? Because I want to make a kind of raw-stack-dump, like provided in DrWatson logs. I need the address pointing to the frame containing the stack contents like (possible) parameters.
When doing the 'classic' way of stackwalking (using EBP-register as starting point=frame), than you will find:
- Return address (at offset 0, is previous function call)
- Program Counter (at offset 8)
- Possible parameters passed with function (at offset 16+)
But... when you use optimized code, above doesn't work most the time and MSDN suggests using the DBGHELP stuff. Also the other articles in MSDN are not diving into the raw-stack usage.
Above is quite complex material, and even MSDN (including technical articals) are not going that deep (except for using the classical way).
Thanks in advanced,
EiSl
|
|
|
|
|
I looking for a sample source code for simple transmit/recieve audio/video in c++.
I currently using the JMF but i want to have "Control".
Does somehting like this exist?Where can i find Source and documantion and samples.
Hope to have an answer.
Yoav:
yoav adler
yoav adler
|
|
|
|
|
You do, of course, realize that spamming three different discussion boards with the same question will probably only get your inquiry ignored, rather than answered?
--
Paul
"I drank... WHAT?"
|
|
|
|
|
Well that was not my intention.
I feel frustrasted.I looking for that long time and it very
urgent.
If you do have any information.please write mr back.
yoav
yoav
|
|
|
|
|