Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 501
  • Last Modified:

CBitmap manipulation

Hello,

I am using MS devstudio 5 for NT 4.0 and I am having
problems handling simple bitmaps (256 colors). What should
be simple is taking me longer and longer to accomplish
as I get deeper and deeper in this mess of BITMAP, HBITMAP
BITMAPHEADERINFO and such...

What I am trying to do is simply to load a bitmap from file
and display it. And the reverse, storing it in a file.
(why is there no such thing as a CBitmap::WriteToFile()!!!)

Any how, this code shows the problem:
  *h= CreateDIBitmap(m_dcMem, &bmih, CBM_INIT, lpvBits, (BITMAPINFO*)lpmi, DIB_RGB_COLORS);

  CBitmap *px;
  DWORD tsize1;
  px= CBitmap::FromHandle(*h);
  tsize1= px->GetBitmapBits( (bmfh.bfSize - bmfh.bfOffBits), lpvBits );

h is a HBITMAP *. The problem is that tsize1 is only 67000
and NOT the expected (bmfh.bfSize - bmfh.bfOffBits) which
is more like 670000! What's wrong????

Is there a CBitmap toolkit or a derived class complete
with manipulation tools such a write/read and
copy to/from clipboard???? Can you provide references?
Is it free and does it work???

HELP... I am getting desperate!!!

Thanks.

Guy Thibault
gthibault@artefact.qc.ca

0
aquila
Asked:
aquila
1 Solution
 
syed_dgreatCommented:
Regarding the first question, it's a big relief that Windows 95 + NT now provides a function which does exactly what you want:-
HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
"mybitmap.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
And how to save the file is not very easy actually. You have
to manipulate BITMAPFILEHEADER bla bla bla... Let me know
if you are interested (email : sxs296@psu.edu). I cannot stay online for too long :(.

The last question :-
There's a free imaging OCX that I have found so far which
is quite excellent. It shows the copyright dialogbox during
startup though. The url of interest is
home.earthlink.net\~bananasoft

However, if you want your app to be really professional,
I suggest you to look for LeadTools (www.leadtools.com)

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now