|
OK - in that case, one has to ask why you've been asked to write a magic wand tool in C++.
As I understand it, the magic wand is useless by itself ( according to the explanation I've just been given ), it marks an area on which other filters are applied. If I was going to impliment a magic wand, I reckon I'd make a mask bitmap, make it all white, and make the area that is drawn on the main image a black area on the bitmap. Then whatever filters, etc. I applied, I'd iterate through the rectangle that the bounds of that drawn area was contained in, and check for black pixels before processing pixels on the main image.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
good idea!but it is only suitable for monochrom image.I reckon I could make the selection according to the RBG value of each pixel.the problem is how to make the scroll boundary indicating the selection.
|
|
|
|
|
stammer wrote:
but it is only suitable for monochrom image.
No, it's not. The MASK is 1 bit, the image doesn't have to be.
stammer wrote:
the problem is how to make the scroll boundary indicating the selection.
I'm not sure what you mean ? To draw the selected area ? You build a path object as you drag the mouse and then draw it.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
I mean how to draw the boundary of the selection
|
|
|
|
|
Yeah, that's what I meant as well
The only way to know where the boundary is, is to store the mouse position, every time the mouse moves during selection. If you store those values into an array, there are methods you can call in order to turn those points into a line, which is exactly what you need.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Assuming you have successfully implemented the "magic wand" selection part (i.e. you know which pixels in the bitmap match your selection criteria and sensitivity) you could build a temporary 1 bit monochrome bitmap with all "selected" pixels of value 1 and all unselected pixels of value 0 then run an edge detection algorithm on it and trace the edge onto your original bitmap (or onto a transparent layer above it)
Steve T
|
|
|
|
|
Hi All,
I'm doing on a project that requires to write the function delay for exact every us.
Please, help me!
Regards.
Grenouille
|
|
|
|
|
|
Hi All,
I need to know how to download CxImage class. I came across this only today, so you can guess I am a new programmer. Please tell me where to get this class from. The link provided in this FAQ opened thi class but I couldn't download the complete class.
Please help.
Awasthy
|
|
|
|
|
|
I don't think he is active here any more try his website:-
http://www.xdp.it/cximage.htm
"An education isn't how much you have committed to memory, or even how much you know. It's being able to differentiate between what you do know and what you don't." - Anatole France
|
|
|
|
|
Thank you both.
Awasthy
Any work that is worth doing is worth doing well.
|
|
|
|
|
Hi all,
I am a new VC++ programmer. I need to acess a bmp file and read its pixels but urgently I need to know how to display an image on the screen whose path is chosen by browsing throgh the file system.
Please Help
Awasthy
|
|
|
|
|
Use ::LoadImage() ... look it up in MSDN. Hope this helps.
- tareq
|
|
|
|
|
Hi
I have the path of the image and its handle using LoadImage() but how do I display it?
No picture is being displayed.
Awasthy
Any work worth doing is worth doing well.
|
|
|
|
|
Assuming youre using MFC ... use the following code...
HBITMAP bmp = (HBITMAP)::LoadImage(::GetModuleHandle(0), _T("Coffee.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
CBitmap* pBitmap = CBitmap::FromHandle(bmp);
CPaintDC dc(this);
CDC memDc;
memDc.CreateCompatibleDC(&dc);
CBitmap* pMemBmp = memDc.SelectObject(pBitmap);
dc.BitBlt(0,0,200,200,&memDc,0,0,SRCCOPY);
memDc.SelectObject(pMemBmp);
::DeleteObject(bmp);
- tareq
|
|
|
|
|
Hello friends, I can't to resolve this problem, I sent my questions and I can't to resolve. Please, somebody know how I have to work with the messages??? :
WS_CLIPCHILDREN and/or WS_CLIPSIBLINGS
I don't know how work that. I set with both styles (WS_CLIPCHILDREN and/or WS_CLIPSIBLINGS) but it's continuing with the gray shade
Because my problem is:
How i can to repaint my dialog or update, because I open a dialog2 over dialog1 but when I close this dialog2, the dialog1 and his controls is cover with a gray shade, Why???. How I can to repaint the dialog???.
All my dialogs are open in form modal. The dialog1 is Child over the main Application, the dialog2 is a child opened over the dialog1 (popup)
I've saw a similar problem in this link:
http://www.codeproject.com/script/comments/forums.asp?msg=1035892&forumid=1647&XtraIDs=1647&searchkw=repaint+dialog&sd=1%2F1%2F2005&ed=4%2F1%2F2005#xx1035892xx[^]
I hope that somebody help me, .
The best regards
NiponWare
|
|
|
|
|
Keep it Simple Stupid...
The Famous Golden Rule in Programming... Why Stress yourself to make your Program so complex that no one cares? Dont stress your mind, get fustrated, irritated, and even alittle insane over your program. Most of the time you dont understand your problem is because you dont understand your program, Keep it Simple Stupid... Thats the most Professional Advice you will ever get when your Programming...
When you begin to get stressed, turn ur monitor off, walk away, walk down the street and think, Keep it Simple Stupid.
Enjoy!
/* Just a Human Trying to Live in a Computers World. */
|
|
|
|
|
NewbieStats wrote:
When you begin to get stressed, play a game
Don't try it, just do it!
|
|
|
|
|
|
My dad says the same thing... He sits there and blows people up... Seems to help... Just thought id share my thoughts
|
|
|
|
|
Serious Sam? works for me...
- tareq
|
|
|
|
|
I am trying to derive a CTreeCtrl, part of which to allow the user to press the space bar to toggle the check boxes. (Basically making an MFC version of Carlos Quintero's TriStateTree, with several other enhancements, since I cannot seem to find anything similiar already out there)
I did setup and write a message handler to trap the WM_KEYUP message and check if the spacebar was pressed, and toggle the checkboxes accordingly (which indeed works as tested thus far).
However, Windows has an annoying tendency to want to keep playing that stupid chime sound when pressing the space bar on a CTreeCtrl.
I've searched both here, MSDN, and the 'Net at large, and could not find anything to tell me how to disable the chiming sound.
How do I "shut-up" that chime sound programmatically in MFC?
Thanks
Steven Konopa
|
|
|
|
|
I would handle TVN_KEYDOWN instead of WM_KEYUP . The docs say "Return nonzero to exclude the character from the incremental search, or zero to include the character in the search" so you can probably return nonzero and the tree will ignore the keypress, which means no beep.
--Mike--
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ
Strange things are afoot at the U+004B U+20DD
|
|
|
|
|
Thanks - that was the ticket! I went and changed my program to trap the TVN_KEYDOWN notification instead of the WM_KEYUP message, and it works perfectly!
Again, Thanks for your help!
Steven Konopa
|
|
|
|