|
I got some paid libraries. But no free libs...Still trying for a best one...
|
|
|
|
|
|
|
Hi,
How to get HWND of dialog box in win32 applucation?
|
|
|
|
|
Depends where the dialog box comes from.
If you created a dialog box using CreateDialog, the function returns the handle you are looking for.
|
|
|
|
|
You should post a more specific question.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
If you create a dialog (win32) with :
HWND CreateDialog( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc );<br />
The HWND of the dialog will be the returned value of the function.
or maybe I do not understand the question.Watched code never compiles.
|
|
|
|
|
Hi all,
I have a code in an applicaiton that I use in many dialogs to display a grayscale data into a color image (using pseudo colors) as follows-
LONG DIBSecWidth;
LONG DIBSecHeight;
LONG BitsPerPixel;
LONG Stride;
BITMAPINFO bmi;
BYTE *pDIBSectionBits;
HBITMAP hbm;
DIBSecWidth = 512;
DIBSecHeight = 512;
BitsPerPixel = 24;
m_bData = VBI_vector(row*col);
Stride = ((DIBSecWidth * BitsPerPixel + 31L) & (~31L)) / 8L;
memset(&bmi, 0, sizeof(BITMAPINFO));
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = DIBSecWidth;
bmi.bmiHeader.biHeight = DIBSecHeight;
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = (WORD)BitsPerPixel;
bmi.bmiHeader.biCompression = BI_RGB;
bmi.bmiHeader.biSizeImage = Stride * abs(DIBSecHeight);
hbm = ::CreateDIBSection(NULL, &bmi, DIB_RGB_COLORS, (void**)&pDIBSectionBits, NULL, 0);
memDC.CreateCompatibleDC(NULL);
colormap = new COLORREF[256];
int red, blue, green;
for (int i=1; i<257; ++i)
{
red = (int)(((1+cos((4*PI*double(i))/(3*255)))/2)*255);
green = (int)(((1+cos((4*PI*double(i)/(3*255))-(2*PI/3)))/2)*255);
blue = (int)(((1+cos((4*PI*double(i)/(3*255))-(4*PI/3)))/2)*255);
colormap[256-i] = RGB(red,green,blue);
}
CDC *dc = Display->GetDC();
HGDIOBJ holdbm;
BYTE color;
short idx;
RGBTRIPLE *pCurRowPixel = (RGBTRIPLE *)(pDIBSectionBits);
short i=-1;
for (int y = 0; y < 512; ++y)
{
for (int x = 0; x < 512; ++x)
{
color = (BYTE) m_dDatatemp[++i];
pCurRowPixel[x].rgbtBlue = GetBValue(colormap[color]);
pCurRowPixel[x].rgbtGreen = GetGValue(colormap[color]);
pCurRowPixel[x].rgbtRed = GetRValue(colormap[color]);
}
pCurRowPixel = (RGBTRIPLE *)((BYTE*)pCurRowPixel + Stride);
}
holdbm = memDC.SelectObject(hbm);
dc->BitBlt(align_left, align_top, bmi.bmiHeader.biWidth, bmi.bmiHeader.biHeight,&memDC,0,0,SRCCOPY);
memDC.SelectObject(holdbm);
ReleaseDC(dc);
Now I would like to save pDIBSectionBits(or to say the color image being displayed on the dialog) into an avi file. Any ideas or suggestions are really appreciated.
thanks in advance,PKNT
|
|
|
|
|
Have a look at the Microsoft Windows SDK WriteAVI sample - this does what you are trying to do.
I used this WriteAVI sample code (with the assistance of CodeProject members) to save a set of images as a video clip 5 or 6 years ago, so the details are fuzzy. If you have specific issues, I can find a copy of the code and try to do an extract.
|
|
|
|
|
Hello,
I have a basic grasp of c/c++ after doing several books and many tutorials but am having trouble making the next step.
Specifically I would like to learn how to do image manipulation. I understand how a RAW image file is formated but I have no idea how on earth to handle the mass of data or how to do for example edge detection. Can anyone recommended a place I can go to learn or an example on this site I can dissect and learn well?
The second thing is how to make good menus. I can easily make a hardcoded menu but when I want to add one new feature I must write quite a bit of code. I have heard that a state machine is a great way to do it. You can add your new menu into a 'choice matrix' or something but I never understood how to actually make them. Is their a better way to do menus? And can you recommended a good state machine tutorial?
Thanks!
|
|
|
|
|
|
You didn't really say whether you wanted to learn image processing from the ground up or simple experiment with image processing. Another well supported and Open Source image processing and machine vision library is OpenCV[^]. It was orininally started by Intel and now actively supported by Willow Garage. It was originally written with a pure C API but they've been retrofitting a C++ interface lately. Lots of samples and extensions available, an active user community, and a book from O'Reilly for documentation. You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
I would like to learn from the ground up. I have no idea how someone can figure out 'edges' in an image and I would like to learn. My test project will have a picture with a known block in it, say a 1x1" square and I would like to detect the edges of an unknown shape and then extrapolate its size. I know program that do this based on mouse clicks and pixel maths but nothing automatic.
|
|
|
|
|
There are any number of books on image processing and machine vision around.
This one[^] looks to be a fairly standard introduction and is free to download. It is the 1982 edition but the basics are still the basics.
Another free book[^].
The first one I studied is this[^]. $114, ouch! I have the 2nd edition published in 1987 which is probably about the time I bought it. It's quite readable and understandable.
The book[^] I mentioned on OpenCV actually spends as much or more time discussing the algorithms as it does talking about using the library. It's also very readable but does have a few errors so if you go this route, you should check the errata on the O'Reilly site. I honestly can't recommend reading the OpenCV code as a tutorial on "how" to do an image processing library as it shows its age very badly having started out as a pure C API. Also, from a tutorial standpoint, the cross platform aspects and supporting a large number of image formats transparently makes the code kind of convoluted. In my opinion, like many Open Source projects, the code is rather poor and definitely poorly commented. That said, I do "use" OpenCV in my vision projects.
Of course, there's also a ton of material on the web about image processing and vision once you learn the basic terms.You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Hi,
I'm new in MFC.
I am using Customized CTreeCtrl for Drag n' Drop operation from one tree to the another tree.
Tree1 -> Library (which only support drag and drop from itself to the another tree)
Tree2 -> Project (Here we can drag an item from library to the project and also we can rearrange the item from itself also ie: Unable to drag n' drop an item from project to Library).
Tree2->Here before adding items from library i can also deserialize the available message and display it in the tree view and can make changes in it.
I found one useful article from Code Project here it is[http://www.codeproject.com/KB/tree/ExtrendedTreeCtrlDrag.aspx].
I implemented this in my project view for the deserialised message. I can drag and drop an item with images from the tree itself which also draws drop target line.
I can drag an item with image up to the end of the library window when the pointer reaches the next window drag image disappear and shows it in some other place also unable to draw target line in the project view.
I have Base class CTreeDragDropConrol inherited from the CTreeCtrl
Also Have
CPjtTreeDragDropCtrl -> Inherited from CTreeDragDropConrol (Which have timer to draw the Target line).
CLibTreedragDropCtrl -> Inherited from CTreeDragDropConrol (Which have no timer).
Both the class have single DropTarget.
How can i support drag with image from one window to another,
Can any one please help me.
Regards,
Rakesh.
|
|
|
|
|
Hi,
I am not able to GetHandle in windows vista using createfile.
I think becuase of securities issue.
How can I do that.
|
|
|
|
|
Your question is a little vague. What GetHandle are you talking about? Can you describe your problem more clearly?Steve
|
|
|
|
|
I am using Createfile() API to get handle of alogical drive. My code is working in windowx Xp but not in vista.
Code:
HANDLE hHandle=CreateFile(_T("c:"),
0,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
UAC is enabled. If I use GENERIC_READ, function is returning INVALID_FILE_HANDLE but If I use 0 instead of GENERIC_READ, I am getting handle but Readfile() API fails to read with this handle.
How to resolve this problem. I have to enable UAC at any cost.
Please suggest the solution.
|
|
|
|
|
I hope in XP you are getting 0XFFFFFFFF?
Please check the error code you are getting in XP.Величие не Бога может быть недооценена.
|
|
|
|
|
I want to open logical drive. It is working perfectly in XP but not in vista
|
|
|
|
|
|
Actually c: is not enough, so try
\\.\Drive name is used to get the drive or I/O devices.
HANDLE hHandle=CreateFile(_T("\\\\.\\c:"),
0,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL); Величие не Бога может быть недооценена.
|
|
|
|
|
Yes I tried same result.
code:
CreateFile(_T("\\\\.\\C:"),
0,
nShareMode,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
|
|
|
|
|
Same error? Величие не Бога может быть недооценена.
|
|
|
|
|
Error no 5 while reading using ReadFile
|
|
|
|