PNGReader.st
changeset 1694 3a77d9b69cf7
parent 1671 6fbb20a4af3a
child 1745 4fa0fad2a463
equal deleted inserted replaced
1693:4055b361abe9 1694:3a77d9b69cf7
    40 
    40 
    41 !
    41 !
    42 
    42 
    43 documentation
    43 documentation
    44 "
    44 "
    45     this class provides methods for loading PNG pictures.
    45     This class will provide methods for loading PNG pictures.
    46     It is currenty untested.
    46     It is currenty unfinished and untested (need a Zlib inflater).
       
    47     In the meantime, use a pngtoXXX converter.
    47 
    48 
    48     [See also:]
    49     [See also:]
    49         Image Form Icon
    50         Image Form Icon
    50         BlitImageReader FaceReader GIFReader JPEGReader PBMReader PCXReader 
    51         BlitImageReader FaceReader GIFReader JPEGReader PBMReader PCXReader 
    51         ST80FormReader SunRasterReader TargaReader TIFFReader WindowsIconReader 
    52         ST80FormReader SunRasterReader TargaReader TIFFReader WindowsIconReader 
    52         XBMReader XPMReader XWDReader 
    53         XBMReader XPMReader XWDReader 
    53 
    54 
    54     [author:]
    55     [author:]
    55         Claus Gittinger
    56         Claus Gittinger
    56 "
    57 "
    57 
    58 !
       
    59 
       
    60 examples
       
    61 "
       
    62     PNGReader fromFile:'/home/cg/AudioExplorer_51_files/use_small.png'
       
    63 "
    58 ! !
    64 ! !
    59 
    65 
    60 !PNGReader class methodsFor:'initialization'!
    66 !PNGReader class methodsFor:'initialization'!
    61 
    67 
    62 initialize
    68 initialize
    84     magic := ByteArray new:8.
    90     magic := ByteArray new:8.
    85     inStream nextBytes:8 into:magic.
    91     inStream nextBytes:8 into:magic.
    86     inStream close.
    92     inStream close.
    87 
    93 
    88     ^ (magic = #[137 80 78 71 13 10 26 10])
    94     ^ (magic = #[137 80 78 71 13 10 26 10])
       
    95 
       
    96     "
       
    97      self isValidImageFile:'/home/cg/AudioExplorer_51_files/use_small.png'
       
    98     "
    89 
    99 
    90     "Modified: 21.6.1996 / 20:38:46 / cg"
   100     "Modified: 21.6.1996 / 20:38:46 / cg"
    91 ! !
   101 ! !
    92 
   102 
    93 !PNGReader methodsFor:'private'!
   103 !PNGReader methodsFor:'private'!
   228 !
   238 !
   229 
   239 
   230 processNonInterlacedDATA:len
   240 processNonInterlacedDATA:len
   231     | zlibReader filter temp prevScanline thisScanline bytesPerScanline filtersSeen|
   241     | zlibReader filter temp prevScanline thisScanline bytesPerScanline filtersSeen|
   232 
   242 
   233     zlibReader := Net.ZLibReadStream on:inStream from: 1 to:len.
   243     zlibReader := ZLibReadStream on:inStream from: 1 to:len.
   234     prevScanline := ByteArray new: bytesPerScanline.
   244     prevScanline := ByteArray new: bytesPerScanline.
   235     thisScanline := ByteArray new: bytesPerScanline.
   245     thisScanline := ByteArray new: bytesPerScanline.
   236     0 to: height - 1 do: 
   246     0 to: height - 1 do: 
   237             [:index | 
   247             [:index | 
   238             filter := (zlibReader next: 1) first.
   248             filter := (zlibReader next: 1) first.
   429 ! !
   439 ! !
   430 
   440 
   431 !PNGReader class methodsFor:'documentation'!
   441 !PNGReader class methodsFor:'documentation'!
   432 
   442 
   433 version
   443 version
   434     ^ '$Header: /cvs/stx/stx/libview2/PNGReader.st,v 1.4 2002-11-15 21:13:43 cg Exp $'
   444     ^ '$Header: /cvs/stx/stx/libview2/PNGReader.st,v 1.5 2003-02-04 08:57:23 cg Exp $'
   435 ! !
   445 ! !
   436 
   446 
   437 PNGReader initialize!
   447 PNGReader initialize!