472,146 Members | 1,306 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,146 software developers and data experts.

Image getting skewed

Hi guys,
I am writing a imaging aplication on VC++.I have to display images and
apply effects onto it.Images could be of any type like jpg,gif,bmp,psd...M
uding createDibSection API.it requires BITMAPINFO struc as one of its
parameters.Its working well(Images are successfully displayed) but my
problem is that in certain images(of any type)they are skewed and becomes
B/W(means Data corruption).U can see my code of populating BITMAPINFO and
CreateDibSection...Can any body help me in solving the annoying probs.
[Note:If I am changing the dimension of image by few pixels using
photoshop it displays well]

BITMAPINFO bmi;

bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biBitCount = 24; bmi.bmiHeader.biWidth
= swidth;//Image width
bmi.bmiHeader.biHeight = -sheight;//Image Height //
neg for top-to-bottom
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biCompression = BI_RGB; // uncompressed
bmi.bmiHeader.biSizeImage = 0; // unused for BI_RGB
bmi.bmiHeader.biXPelsPerMeter = 0;
bmi.bmiHeader.biYPelsPerMeter = 0;
bmi.bmiHeader.biClrUsed = 0;
bmi.bmiHeader.biClrImportant = 0;
bmi.bmiColors[0].rgbBlue = 0;
bmi.bmiColors[0].rgbRed = 0;
bmi.bmiColors[0].rgbGreen = 0;
bmi.bmiColors[0].rgbReserved = 0;
hBmp = CreateDIBSection( hdc_
, &bmi
, DIB_RGB_COLORS
, &imageBuff //pointer to created buf
, NULL
, 0);

dcMem = ::CreateCompatibleDC(hdc_);//creates a memory compatible
device context (DC)passing exixting DC
(HBITMAP) ::SelectObject(dcMem, hBmp); //selects handle of image to
Device
//context dcMem

Jul 23 '05 #1
1 1561
"apoorv" <ar**********@nospam.quark.com> wrote in message
news:93******************************@localhost.ta lkaboutprogramming.com...
I am writing a imaging aplication on VC++.I have to display images and
apply effects onto it.Images could be of any type like jpg,gif,bmp,psd...M
uding createDibSection API.it requires BITMAPINFO struc as one of its
parameters.Its working well(Images are successfully displayed) but my
problem is that in certain images(of any type)they are skewed and becomes
B/W(means Data corruption).U can see my code of populating BITMAPINFO and
CreateDibSection...Can any body help me in solving the annoying probs.

Most likely this is related to a padding issue: on many systems, the
data for each row of pixels needs to be aligned to an address that
is a multiple of 2 (or 4). If data for a pixel row has an odd size,
padding bytes need to be inserted.

But, ahem, what was your C++ question ?

--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Jul 23 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

12 posts views Thread by Cameron Laird | last post: by
53 posts views Thread by Kerberos | last post: by
1 post views Thread by apoorv | last post: by
reply views Thread by apoorv | last post: by
16 posts views Thread by Nicky | last post: by
1 post views Thread by Praveen | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.