Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

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....

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://706804]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2018-06-18 16:05 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.