|
Thank you for your responce
I am very new to visual c++, so I dont know what the gdi+
or the ATL is
What I am trying to do is to try out some imaging processing, so i'll need it in the raw form.
I belive visual has the facility to get the pixel attributes
Is it possible to load the image to the screen and get
the approbiate values from this kind of method?
Thanks very much
Simon Smith
simon smith
|
|
|
|
|
I would say the CImage class would be an easy place to start and be able to work with images right away.
Before I try putting some sample code here -
Are you using MFC or straight Win32?
Do you have basic Windows programming skills as far as windowing, messages, etc?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I am learning visuall c++ again, I learnt it about 8 years
ago from a book from wrox.
so some stuff makes sense, but I am going through the book again.
I am useing mfc and I have basic progframing skills
(loops, ifs, pointers)
regarding windows programing skills, Once I have gone through the book again, I can then only tell you how I am
at it.
Can you recommend any books or websites that I can further
develop my skills.
If you have any source code suitable for me regarding the imaging or anything that would be great
from my understanding so far, I have created a single document mfc application. Do I add theb Cimage class the same as the virtual functions?
cheers Simon
the virtual functions, this is an area I am stuck on
simon
|
|
|
|
|
Hi simon,
I wizarded together an SDI application that loads tiff/bmp/jpeg/gif files as a CImage.
I'll email it to you.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Simple way is:
#include "AtlImage.h"
CImage m_Image;
m_Image.Load("c:\\yourfile.jpg");
e.BitBlt(dc->m_hdc,800,600);
m_Image.Detach();
|
|
|
|
|
Do you have any sample code that demonstrates this,
I am a begginer and I'm not sure how this fits in
|
|
|
|
|
I have the exact image of a .bmp file in memory, loaded from a database. How can I create a valid CBitmap from it and get it to print?
I can load the .bmp file locally using LoadImage(...LR_LOADFROMFILE...), which returns a valid HBITMAP handle, and it prints fine. But when I use CreateBitmap() et al. and try to load the instance with the in-memory bitmap info from BITMAPFILEHEADER and BITMAPINFOHEADER (width, height, planes etc.) it fails when I try to SelectObject() into a temporary DC.
How can I duplicate all of the functions of LoadImage() when the source is neither a resource nor an actual file, but rather an image of the .bmp file in memory? The goal is to end up with a valid HBITMAP handle that can then be Selected into a DC and printed.
Does anyone have any code examples for this kind of operation?
Thanks.
|
|
|
|
|
You could use CreateDIBSection() to create the HBITMAP then copy the pixel bits to the
DIB section.
BITMAPFILEHEADER *pBitmapFileHeader = (BITMAPFILEHEADER*)pFileBytesInMemory;
BITMAPINFO *pBitmapInfo = (BITMAPINFO*)((BYTE*)pFileBytesInMemory + sizeof(BITMAPFILEHEADER));
BYTE *pBitmapBits = 0;
HBITMAP hBitmap = ::CreateDIBSection(NULL, pBitmapInfo, DIB_RGB_COLORS, &pBitmapBits, NULL, 0);
if (hBitmap)
{
memcpy(pBitmapBits, (BYTE*)pFileBytesInMemory + pBitmapFileHeader->bfOffBits, pBitmapInfo->bmiHeader.biSizeImage);
...
}
Mark
.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark,
Thank you, thank you, thank you! It worked beautifully the first time.
I wish the documentation was easier to plod through to find simple solutions like this so I wouldn't have to waste two days and then have to ask anyway.
Thanks again.
Bion
|
|
|
|
|
You're welcome!
bions wrote: I wish the documentation was easier to plod through to find simple solutions like this so I wouldn't have to waste two days and then have to ask anyway.
We all do
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I need some quick help and i thought of the guru's on this forum. My cd/dvd rom won't read or write to Blank CD's. It reads Blank DVD's but says the file system is raw and has 0 bytes on the blank 4gb dvd.
I've tried to uninstall the cdrom and then searched for added hardware, but still nothing. what can i do?
|
|
|
|
|
You may want to try posting this on the Hardware board.
That's my quick help
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
But why did it take you three minutes to provide said help? Come on, Mark, that's not the philosophy around here.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I'm getting slow in my old age
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
hi everybody
how can i send data in mysql data base through mfc dialog based application.
i am new for mfc and mysql please guide me with some code and example
I will be more obliged .
regard
malik
|
|
|
|
|
rajneshmalik wrote: please guide me with some code and example
You are in luck. CodeProject is all about guides and example code. There is a massive amount of Database related articles here. Now all you need to do is look around the CodeProject Web Site, locate the list of articles and start working! To do that there are what is called "links" on these pages that you can "read" and then "click on" to navigate around the site. GOOD LUCK!
|
|
|
|
|
Hi,
Is it possible to write an dll, which can be accessed both from exe and webpage(using ASP)?
Regards,
John.
|
|
|
|
|
Try developing a COM dll..
Cheers,
Suresh
|
|
|
|
|
Hi,
I have the following situation:
I hide some columns of a CListCtrl derived object. I do this by setting the column width to zero
with the code :
BOOL CXListCtrlHead::SetStdColWidth(int nCol, int nWidth)
{
ASSERT((nCol >= 0) && (nCol < GetItemCount()));
ASSERT(nWidth >= 0);
HDITEM hdi;
memset(&hdi, 0, sizeof(HDITEM));
hdi.mask = HDI_WIDTH;
hdi.cxy = nWidth;
return SetItem(nCol, &hdi);
}
when I want to do the drawing by overridding OnCustomDraw()
the code :
CRect rc;
GetSubItemRect(nItem, nSubItem, LVIR_BOUNDS, rc);
TRACE(_T("Width = %d\n"), rc.Width());
gives me an output of "Width = 16"
The subitem for which I am asking the bounding rectangle is the column I set to zero earlier.
btw I am using the code from http://www.codeproject.com/listctrl/xlistctrl.asp
How is this possible ?
tia
|
|
|
|
|
You might consider posting this under the xlistctrl article - you may get help quicker there.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
VCF Blog
|
|
|
|
|
Dramas,
I've subclassed CToolBar to custom draw toolbars & I've worked around most of the quirks but I'm somewhat stuck when it comes to drawing the down arrow on a button with the BTNS_WHOLEDROPDOWN style or BTNS_DROPDOWN with TBSTYLE_EX_DRAWDDARROWS on the toolbar.
From a bit of experimenting in XP I've found:
BTNS_WHOLEDROPDOWN with TBSTYLE_AUTOSIZE on increases a button's width by 6
BTNS_WHOLEDROPDOWN with TBSTYLE_AUTOSIZE off increases a button's width by 7
BTNS_DROPDOWN with TBSTYLE_AUTOSIZE on increases a button's width by 19
BTNS_DROPDOWN with TBSTYLE_AUTOSIZE off increases a button's width by 18
(I'm assuming some of the 18/19 is padding but how much?).
After playing with CToolBar::SetMetrics, I can confidently say that the toolbar & button padding settings do not affect the drop-down width but I can't find any documentation on how to query the O/S for the drop down width, or whether any system settings (e.g. themes) or other O/S versions will give different values.
Is there something I've missed? Or can anyone confirm whether the drop down widths listed above are always true?
-- modified at 10:02 Friday 10th August, 2007
T-Mac-Oz
|
|
|
|
|
You can easily use FindFirstChangeNotification() in your MFC applicaton just like you would with any other Win32 API.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi,
On creating registry key, a string value named "(Default)" is automatically generated, whose data is "value not set" means no value, how can I assign some data to that value programmatically.
Best Regards,
Mushq
Mushtaque Ahmed Nizamani
Software Engineer
Ultimus Pakistan
"English is my second language; please excuse any grammatical or spelling mistakes"
|
|
|
|
|
Mushq wrote: how can I assign some data to that value programmatically.
By using RegSetValue(hKey, "", ...) .
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
David, Thanks a lot
Best Regards,
Mushq
Mushtaque Ahmed Nizamani
Software Engineer
Ultimus Pakistan
"English is my second language; please excuse any grammatical or spelling mistakes"
|
|
|
|