Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^2: BMP file manipulation

by MadraghRua (Vicar)
on Aug 25, 2008 at 23:43 UTC ( #706804=note: print w/ replies, xml ) Need Help??

in reply to Re: BMP file manipulation
in thread BMP file manipulation

Dear Tachyon
Thank you for your very helpful example. I am trying to adapt it my own needs and I am struggling with parts 4 and 5 in your example.

I am working with images that are 1024 high x 1280 wide using 8 bit grey scale to represent each color. So for instance I have used the following to get the color table:
<c> my @rgbQuad = wq ( rgbBlue rgbGreen rgbRed rgbReserved ); my @rgb_dat = unpack "LLLL", $data; my %rgbQuadList; @rgbQuadList{@rgbQuad} = @rgb_dat; print "$_\t$rgbQuad{$_}\n" for @rgbQuad; <\c>
to retrieve the rgb color table data. This returns one line of data for the Blue, Green, Red and Reserved colors. What I am not understanding is how to get every instance of this color table by reiterating through $data. I have also tried assigning < BMP > to an array but that does not seem to behave like the standard file handles I am more typically used to.

Secondly I don't understand how to extract the data lines for the image. So my offset is 1078 bits. According to your calculation, and using an 8 bit pixel assignment, I need to capture 10242 bytes per line for my bit maps. How do I set this for unpack?

Thank you for taking the time to answer my questions.

yet another biologist hacking perl....

Comment on Re^2: BMP file manipulation

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://706804]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2015-10-08 23:51 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (232 votes), past polls